summaryrefslogtreecommitdiff
path: root/doc/src
AgeCommit message (Collapse)Author
2015-10-15Allow FDWs to push down quals without breaking EvalPlanQual rechecks.Robert Haas
This fixes a long-standing bug which was discovered while investigating the interaction between the new join pushdown code and the EvalPlanQual machinery: if a ForeignScan appears on the inner side of a paramaterized nestloop, an EPQ recheck would re-return the original tuple even if it no longer satisfied the pushed-down quals due to changed parameter values. This fix adds a new member to ForeignScan and ForeignScanState and a new argument to make_foreignscan, and requires changes to FDWs which push down quals to populate that new argument with a list of quals they have chosen to push down. Therefore, I'm only back-patching to 9.5, even though the bug is not new in 9.5. Etsuro Fujita, reviewed by me and by Kyotaro Horiguchi.
2015-10-08Fix typo in docs.Robert Haas
Pallavi Sontakke
2015-10-08Hyphenate variable-length for consistency.Robert Haas
We hyphenate "fixed-length" earlier in the same sentence, and overall we more often use "variable-length" rather than "variable length". Nikolay Shaplov
2015-10-07Improve documentation of the role-dropping process.Tom Lane
In general one may have to run both REASSIGN OWNED and DROP OWNED to get rid of all the dependencies of a role to be dropped. This was alluded to in the REASSIGN OWNED man page, but not really spelled out in full; and in any case the procedure ought to be documented in a more prominent place than that. Add a section to the "Database Roles" chapter explaining this, and do a bit of wordsmithing in the relevant commands' man pages.
2015-10-07docs: add JSONB containment example of a key and empty objectBruce Momjian
Backpatch through 9.5
2015-10-07docs: Map operator @> to the proper SGML escape for '>'Bruce Momjian
Backpatch through 9.5
2015-10-07docs: clarify JSONB operator descriptionsBruce Momjian
No catalog bump as the catalog changes are for SQL operator comments. Backpatch through 9.5
2015-10-06to_number(): allow 'V' to divide by 10^(the number of digits)Bruce Momjian
to_char('V') already multiplied in a similar manner. Report by Jeremy Lowery
2015-10-06psql: allow \pset C in setting the title, matches \CBruce Momjian
Report by David G. Johnston
2015-10-05docs: update guidelines on when to use GIN and GiST indexesBruce Momjian
Report by Tomas Vondra Backpatch through 9.5
2015-10-05Docs: explain contrib/pg_stat_statements' handling of GC failure.Tom Lane
Failure to perform garbage collection now has a user-visible effect, so explain that and explain that reducing pgss_max is the way to prevent it. Per gripe from Andrew Dunstan.
2015-10-05Last-minute updates for release notes.Tom Lane
Add entries for security and not-quite-security issues. Security: CVE-2015-5288, CVE-2015-5289
2015-10-05Remove outdated comment about relation level autovacuum freeze limits.Andres Freund
The documentation for the autovacuum_multixact_freeze_max_age and autovacuum_freeze_max_age relation level parameters contained: "Note that while you can set autovacuum_multixact_freeze_max_age very small, or even zero, this is usually unwise since it will force frequent vacuuming." which hasn't been true since these options were made relation options, instead of residing in the pg_autovacuum table (834a6da4f7). Remove the outdated sentence. Even the lowered limits from 2596d70 are high enough that this doesn't warrant calling out the risk in the CREATE TABLE docs. Per discussion with Tom Lane and Alvaro Herrera Discussion: 26377.1443105453@sss.pgh.pa.us Backpatch: 9.0- (in parts)
2015-10-05ALTER TABLE .. FORCE ROW LEVEL SECURITYStephen Frost
To allow users to force RLS to always be applied, even for table owners, add ALTER TABLE .. FORCE ROW LEVEL SECURITY. row_security=off overrides FORCE ROW LEVEL SECURITY, to ensure pg_dump output is complete (by default). Also add SECURITY_NOFORCE_RLS context to avoid data corruption when ALTER TABLE .. FORCE ROW SECURITY is being used. The SECURITY_NOFORCE_RLS security context is used only during referential integrity checks and is only considered in check_enable_rls() after we have already checked that the current user is the owner of the relation (which should always be the case during referential integrity checks). Back-patch to 9.5 where RLS was added.
2015-10-04Release notes for 9.5beta1, 9.4.5, 9.3.10, 9.2.14, 9.1.19, 9.0.23.Tom Lane
2015-10-04Group cluster_name and update_process_title settings togetherPeter Eisentraut
2015-10-04Update 9.5 release notes through today.Tom Lane
2015-10-04First-draft release notes for 9.4.5, 9.3.10, 9.2.14, 9.1.19, 9.0.23.Tom Lane
2015-10-04Document that row_security is a boolean GUC.Noah Misch
Oversight in commit 537bd178c73b1d25938347b17e9e3e62898fc231. Back-patch to 9.5, like that commit.
2015-10-04Make BYPASSRLS behave like superuser RLS bypass.Noah Misch
Specifically, make its effect independent from the row_security GUC, and make it affect permission checks pertinent to views the BYPASSRLS role owns. The row_security GUC thereby ceases to change successful-query behavior; it can only make a query fail with an error. Back-patch to 9.5, where BYPASSRLS was introduced.
2015-10-03Add CASCADE support for CREATE EXTENSION.Andres Freund
Without CASCADE, if an extension has an unfullfilled dependency on another extension, CREATE EXTENSION ERRORs out with "required extension ... is not installed". That is annoying, especially when that dependency is an implementation detail of the extension, rather than something the extension's user can make sense of. In addition to CASCADE this also includes a small set of regression tests around CREATE EXTENSION. Author: Petr Jelinek, editorialized by Michael Paquier, Andres Freund Reviewed-By: Michael Paquier, Andres Freund, Jeff Janes Discussion: 557E0520.3040800@2ndquadrant.com
2015-10-03doc: Update URLs of external projectsPeter Eisentraut
2015-10-03doc: Make some index terms and terminology more consistentPeter Eisentraut
2015-10-02Clarify FDW documentation about ON CONFLICT.Robert Haas
Etsuro Fujita, reviewed by Peter Geoghegan
2015-10-02Docs: add disclaimer about hazards of using regexps from untrusted sources.Tom Lane
It's not terribly hard to devise regular expressions that take large amounts of time and/or memory to process. Recent testing by Greg Stark has also shown that machines with small stack limits can be driven to stack overflow by suitably crafted regexps. While we intend to fix these things as much as possible, it's probably impossible to eliminate slow-execution cases altogether. In any case we don't want to treat such things as security issues. The history of that code should already discourage prudent DBAs from allowing execution of regexp patterns coming from possibly-hostile sources, but it seems like a good idea to warn about the hazard explicitly. Currently, similar_escape() allows access to enough of the underlying regexp behavior that the warning has to apply to SIMILAR TO as well. We might be able to make it safer if we tightened things up to allow only SQL-mandated capabilities in SIMILAR TO; but that would be a subtly non-backwards-compatible change, so it requires discussion and probably could not be back-patched. Per discussion among pgsql-security list.
2015-10-02Docs: add another example of creating a range type.Tom Lane
The "floatrange" example is a bit too simple because float8mi can be used without any additional type conversion. Add an example that does have to account for that, and do some minor other wordsmithing.
2015-10-01Fix mention of htup.h in storage.sgmlFujii Masao
Previously it was documented that the details on HeapTupleHeaderData struct could be found in htup.h. This is not correct because it's now defined in htup_details.h. Back-patch to 9.3 where the definition of HeapTupleHeaderData struct was moved from htup.h to htup_details.h. Michael Paquier
2015-09-30Add a Gather executor node.Robert Haas
A Gather executor node runs any number of copies of a plan in an equal number of workers and merges all of the results into a single tuple stream. It can also run the plan itself, if the workers are unavailable or haven't started up yet. It is intended to work with the Partial Seq Scan node which will be added in future commits. It could also be used to implement parallel query of a different sort by itself, without help from Partial Seq Scan, if the single_copy mode is used. In that mode, a worker executes the plan, and the parallel leader does not, merely collecting the worker's results. So, a Gather node could be inserted into a plan to split the execution of that plan across two processes. Nested Gather nodes aren't currently supported, but we might want to add support for that in the future. There's nothing in the planner to actually generate Gather nodes yet, so it's not quite time to break out the champagne. But we're getting close. Amit Kapila. Some designs suggestions were provided by me, and I also reviewed the patch. Single-copy mode, documentation, and other minor changes also by me.
2015-09-27doc: Tweak "cube" index entryPeter Eisentraut
With the arrival of the CUBE key word/feature, the index entries for the cube extension and the CUBE feature were collapsed into one. Tweak the entry for the cube extension so they are separate entries.
2015-09-22Docs: fix typo in to_char() example.Tom Lane
Per bug #13631 from KOIZUMI Satoru.
2015-09-22Add some notes about coding conventions do the docs.Andres Freund
This deserves to be greatly expanded and improved, but it's a start. Discussion: 20150827145219.GI2435@awork2.anarazel.de
2015-09-22doc: Tweak synopsis indentation for consistencyPeter Eisentraut
2015-09-22Use gender-neutral language in documentationPeter Eisentraut
Based on patch by Thomas Munro <thomas.munro@enterprisedb.com>, although I rephrased most of the initial work.
2015-09-21Remove the row_security=force GUC value.Noah Misch
Every query of a single ENABLE ROW SECURITY table has two meanings, with the row_security GUC selecting between them. With row_security=force available, every function author would have been advised to either set the GUC locally or test both meanings. Non-compliance would have threatened reliability and, for SECURITY DEFINER functions, security. Authors already face an obligation to account for search_path, and we should not mimic that example. With this change, only BYPASSRLS roles need exercise the aforementioned care. Back-patch to 9.5, where the row_security GUC was introduced. Since this narrows the domain of pg_db_role_setting.setconfig and pg_proc.proconfig, one might bump catversion. A row_security=force setting in one of those columns will elicit a clear message, so don't.
2015-09-18Order some new options on man pages more sensibly, minor improvementsPeter Eisentraut
2015-09-16Determine whether it's safe to attempt a parallel plan for a query.Robert Haas
Commit 924bcf4f16d54c55310b28f77686608684734f42 introduced a framework for parallel computation in PostgreSQL that makes most but not all built-in functions safe to execute in parallel mode. In order to have parallel query, we'll need to be able to determine whether that query contains functions (either built-in or user-defined) that cannot be safely executed in parallel mode. This requires those functions to be labeled, so this patch introduces an infrastructure for that. Some functions currently labeled as safe may need to be revised depending on how pending issues related to heavyweight locking under paralllelism are resolved. Parallel plans can't be used except for the case where the query will run to completion. If portal execution were suspended, the parallel mode restrictions would need to remain in effect during that time, but that might make other queries fail. Therefore, this patch introduces a framework that enables consideration of parallel plans only when it is known that the plan will be run to completion. This probably needs some refinement; for example, at bind time, we do not know whether a query run via the extended protocol will be execution to completion or run with a limited fetch count. Having the client indicate its intentions at bind time would constitute a wire protocol break. Some contexts in which parallel mode would be safe are not adjusted by this patch; the default is not to try parallel plans except from call sites that have been updated to say that such plans are OK. This commit doesn't introduce any parallel paths or plans; it just provides a way to determine whether they could potentially be used. I'm committing it on the theory that the remaining parallel sequential scan patches will also get committed to this release, hopefully in the not-too-distant future. Robert Haas and Amit Kapila. Reviewed (in earlier versions) by Noah Misch.
2015-09-16Fix documentation of regular expression character-entry escapes.Tom Lane
The docs claimed that \uhhhh would be interpreted as a Unicode value regardless of the database encoding, but it's never been implemented that way: \uhhhh and \xhhhh actually mean exactly the same thing, namely the character that pg_mb2wchar translates to 0xhhhh. Moreover we were falsely dismissive of the usefulness of Unicode code points above FFFF. Fix that. It's been like this for ages, so back-patch to all supported branches.
2015-09-16pgbench progress with timestampTeodor Sigaev
This patch adds an option to replace the "time since pgbench run started" with a Unix epoch timestamp in the progress report so that, for instance, it is easier to compare timelines with pgsql log Fabien COELHO <coelho@cri.ensmp.fr>
2015-09-15Add POLICY to COMMENT documentationStephen Frost
COMMENT supports POLICY but the documentation hadn't caught up with that fact. Patch by Charles Clavadetscher Back-patch to 9.5 where POLICY was added.
2015-09-14Check existency of table/schema for -t/-n option (pg_dump/pg_restore)Teodor Sigaev
Patch provides command line option --strict-names which requires that at least one table/schema should present for each -t/-n option. Pavel Stehule <pavel.stehule@gmail.com>
2015-09-13doc: Remove dead linksPeter Eisentraut
The web pages of Andy Dong at Berkeley don't exist anymore, and he is no longer there.
2015-09-12Fix typo in create_policy.sgmlStephen Frost
WTIH -> WITH Pointed out by Dmitriy Olshevskiy Backpatch to 9.5 where create_policy.sgml was added.
2015-09-11Correct description of PageHeaderData layout in documentationFujii Masao
Back-patch to 9.3 where PageHeaderData layout was changed. Michael Paquier
2015-09-11doc: Spell checkingPeter Eisentraut
2015-09-08Allow per-tablespace effective_io_concurrencyAlvaro Herrera
Per discussion, nowadays it is possible to have tablespaces that have wildly different I/O characteristics from others. Setting different effective_io_concurrency parameters for those has been measured to improve performance. Author: Julien Rouhaud Reviewed by: Andres Freund
2015-09-08contrib/sslinfo: add ssl_extension_info SRFAlvaro Herrera
This new function provides information about SSL extensions present in the X509 certificate used for the current connection. Extension version updated to version 1.1. Author: Дмитрий Воронин (Dmitry Voronin) Reviewed by: Michael Paquier, Heikki Linnakangas, Álvaro Herrera
2015-09-07Add log_line_prefix option 'n' for Unix epoch.Jeff Davis
Prints time as Unix epoch with milliseconds. Tomas Vondra, reviewed by Fabien Coelho.
2015-09-07Update site address of Snowball projectTeodor Sigaev
2015-09-06Add ability to reserve WAL upon slot creation via replication protocol.Andres Freund
Since 6fcd885 it is possible to immediately reserve WAL when creating a slot via pg_create_physical_replication_slot(). Extend the replication protocol to allow that as well. Although, in contrast to the SQL interface, it is possible to update the reserved location via the replication interface, it is still useful being able to reserve upon creation there. Otherwise the logic in ReplicationSlotReserveWal() has to be repeated in slot employing clients. Author: Michael Paquier Discussion: CAB7nPqT0Wc1W5mdYGeJ_wbutbwNN+3qgrFR64avXaQCiJMGaYA@mail.gmail.com
2015-09-05Rearrange the handling of error context reports.Tom Lane
Remove the code in plpgsql that suppressed the innermost line of CONTEXT for messages emitted by RAISE commands. That was never more than a quick backwards-compatibility hack, and it's pretty silly in cases where the RAISE is nested in several levels of function. What's more, it violated our design theory that verbosity of error reports should be controlled on the client side not the server side. To alleviate the resulting noise increase, introduce a feature in libpq and psql whereby the CONTEXT field of messages can be suppressed, either always or only for non-error messages. Printing CONTEXT for errors only is now their default behavior. The actual code changes here are pretty small, but the effects on the regression test outputs are widespread. I had to edit some of the alternative expected outputs by hand; hopefully the buildfarm will soon find anything I fat-fingered. In passing, fix up (again) the output line counts in psql's various help displays. Add some commentary about how to verify them. Pavel Stehule, reviewed by Petr Jelínek, Jeevan Chalke, and others