aboutsummaryrefslogtreecommitdiff
path: root/doc/src
Commit message (Collapse)AuthorAge
...
* Don't allow to disable backend assertions via the debug_assertions GUC.Andres Freund2014-06-20
| | | | | | | | | | | | | | | | | | | | The existance of the assert_enabled variable (backing the debug_assertions GUC) reduced the amount of knowledge some static code checkers (like coverity and various compilers) could infer from the existance of the assertion. That could have been solved by optionally removing the assertion_enabled variable from the Assert() et al macros at compile time when some special macro is defined, but the resulting complication doesn't seem to be worth the gain from having debug_assertions. Recompiling is fast enough. The debug_assertions GUC is still available, but readonly, as it's useful when diagnosing problems. The commandline/client startup option -A, which previously also allowed to enable/disable assertions, has been removed as it doesn't serve a purpose anymore. While at it, reduce code duplication in bufmgr.c and localbuf.c assertions checking for spurious buffer pins. That code had to be reindented anyway to cope with the assert_enabled removal.
* Document SQL functions' behavior of parsing the whole function at once.Tom Lane2014-06-19
| | | | Haribabu Kommi, somewhat rewritten by me
* Don't allow data_directory to be set in postgresql.auto.conf by ALTER SYSTEM.Fujii Masao2014-06-19
| | | | | | | | | | data_directory could be set both in postgresql.conf and postgresql.auto.conf so far. This could cause some problematic situations like circular definition. To avoid such situations, this commit forbids a user to set data_directory in postgresql.auto.conf. Backpatch this to 9.4 where ALTER SYSTEM command was introduced. Amit Kapila, reviewed by Abhijit Menon-Sen, with minor adjustments by me.
* Improve our mechanism for controlling the Linux out-of-memory killer.Tom Lane2014-06-18
| | | | | | | | | | | | | | | | | | Arrange for postmaster child processes to respond to two environment variables, PG_OOM_ADJUST_FILE and PG_OOM_ADJUST_VALUE, to determine whether they reset their OOM score adjustments and if so to what. This is superior to the previous design involving #ifdef's in several ways. The behavior is now available in a default build, and both ends of the adjustment --- the original adjustment of the postmaster's level and the subsequent readjustment by child processes --- can now be controlled in one place, namely the postmaster launch script. So it's no longer necessary for the launch script to act on faith that the server was compiled with the appropriate options. In addition, if someone wants to use an OOM score other than zero for the child processes, that doesn't take a recompile anymore; and we no longer have to cater separately to the two different historical kernel APIs for this adjustment. Gurjeet Singh, somewhat revised by me
* Document that jsonb has all the standard comparison operators.Andrew Dunstan2014-06-18
|
* Implement UPDATE tab SET (col1,col2,...) = (SELECT ...), ...Tom Lane2014-06-18
| | | | | | | | | | | | | | | | This SQL-standard feature allows a sub-SELECT yielding multiple columns (but only one row) to be used to compute the new values of several columns to be updated. While the same results can be had with an independent sub-SELECT per column, such a workaround can require a great deal of duplicated computation. The standard actually says that the source for a multi-column assignment could be any row-valued expression. The implementation used here is tightly tied to our existing sub-SELECT support and can't handle other cases; the Bison grammar would have some issues with them too. However, I don't feel too bad about this since other cases can be converted into sub-SELECTs. For instance, "SET (a,b,c) = row_valued_function(x)" could be written "SET (a,b,c) = (SELECT * FROM row_valued_function(x))".
* 9.4 release notes: improve valgrind mentionBruce Momjian2014-06-17
| | | | Report by Peter Geoghegan
* Secure Unix-domain sockets of "make check" temporary clusters.Noah Misch2014-06-14
| | | | | | | | | | | | | | | | | Any OS user able to access the socket can connect as the bootstrap superuser and proceed to execute arbitrary code as the OS user running the test. Protect against that by placing the socket in a temporary, mode-0700 subdirectory of /tmp. The pg_regress-based test suites and the pg_upgrade test suite were vulnerable; the $(prove_check)-based test suites were already secure. Back-patch to 8.4 (all supported versions). The hazard remains wherever the temporary cluster accepts TCP connections, notably on Windows. As a convenient side effect, this lets testing proceed smoothly in builds that override DEFAULT_PGSOCKET_DIR. Popular non-default values like /var/run/postgresql are often unwritable to the build user. Security: CVE-2014-0067
* Adjust 9.4 release notes.Noah Misch2014-06-13
| | | | Back-patch to 9.4.
* Rename lo_create(oid, bytea) to lo_from_bytea().Tom Lane2014-06-12
| | | | | | | | | | | | | | The previous naming broke the query that libpq's lo_initialize() uses to collect the OIDs of the server-side functions it requires, because that query effectively assumes that there is only one function named lo_create in the pg_catalog schema (and likewise only one lo_open, etc). While we should certainly make libpq more robust about this, the naive query will remain in use in the field for the foreseeable future, so it seems the only workable choice is to use a different name for the new function. lo_from_bytea() won a small straw poll. Back-patch into 9.4 where the new function was introduced.
* Consistently spell a replication slot's name as slot_name.Andres Freund2014-06-05
| | | | | | | | | | | Previously there's been a mix between 'slotname' and 'slot_name'. It's not nice to be unneccessarily inconsistent in a new feature. As a post beta1 initdb now is required in the wake of eeca4cd35e, fix the inconsistencies. Most the changes won't affect usage of replication slots because the majority of changes is around function parameter names. The prominent exception to that is that the recovery.conf parameter 'primary_slotname' is now named 'primary_slot_name'.
* Add description of pg_stat directory into doc.Fujii Masao2014-06-05
| | | | Back-patch to 9.3 where pg_stat directory was introduced.
* Do not escape a unicode sequence when escaping JSON text.Andrew Dunstan2014-06-03
| | | | | | | | | | | | | | Previously, any backslash in text being escaped for JSON was doubled so that the result was still valid JSON. However, this led to some perverse results in the case of Unicode sequences, These are now detected and the initial backslash is no longer escaped. All other backslashes are still escaped. No validity check is performed, all that is looked for is \uXXXX where X is a hexidecimal digit. This is a change from the 9.2 and 9.3 behaviour as noted in the Release notes. Per complaint from Teodor Sigaev.
* Output timestamps in ISO 8601 format when rendering JSON.Andrew Dunstan2014-06-03
| | | | | | | | | | | Many JSON processors require timestamp strings in ISO 8601 format in order to convert the strings. When converting a timestamp, with or without timezone, to a JSON datum we therefore now use such a format rather than the type's default text output, in functions such as to_json(). This is a change in behaviour from 9.2 and 9.3, as noted in the release notes.
* doc: fix JSON function prototype variable labelBruce Momjian2014-06-02
| | | | | | from_jsonb -> from_json, for consistency Patch by rudolf (private report)
* Improvements to the replication protocol documentation.Andres Freund2014-05-31
| | | | | | | | | Document the CREATE_REPLICATION_SLOT's output_plugin parameter; that START_REPLICATION ... LOGICAL takes parameters; that START_REPLICATION ... LOGICAL uses the same messages as ... PHYSICAL; and be more consistent with the usage of <literal/>. Michael Paquier, with some additional changes by me.
* In release notes, mention the need to initialize bgw_notify_pid.Robert Haas2014-05-29
| | | | Michael Paquier
* doc: improve markup of ssl_ecdh_curve commitBruce Momjian2014-05-28
|
* doc: improve ssl_ecdh_curve descriptionsBruce Momjian2014-05-27
| | | | Patch by Marko Kreen
* Support BSD and e2fsprogs UUID libraries alongside OSSP UUID library.Tom Lane2014-05-27
| | | | | | | | | | | | | | | | | | | Allow the contrib/uuid-ossp extension to be built atop any one of these three popular UUID libraries. (The extension's name is now arguably a misnomer, but we'll keep it the same so as not to cause unnecessary compatibility issues for users.) We would not normally consider a change like this post-beta1, but the issue has been forced by our upgrade to autoconf 2.69, whose more rigorous header checks are causing OSSP's header files to be rejected on some platforms. It's been foreseen for some time that we'd have to move away from depending on OSSP UUID due to lack of upstream maintenance, so this is a down payment on that problem. While at it, add some simple regression tests, in hopes of catching any major incompatibilities between the three implementations. Matteo Beccati, with some further hacking by me
* doc: link/caps fixes for 9.4 release notesBruce Momjian2014-05-23
| | | | Report by Tomonari Katsumata
* doc: add ALTER TABLE lock level item as major 9.4 itemBruce Momjian2014-05-21
| | | | Report by Simon Riggs
* doc: 9.4 release notes update for pg_bench line limit itemBruce Momjian2014-05-20
| | | | Report by David Johnston
* Fix typo in JSON function document.Fujii Masao2014-05-19
|
* Fix incorrect column name in pg_stat_replication document.Fujii Masao2014-05-19
| | | | Fabrízio de Royes Mello
* doc: adjust JSONB 9.4 release note itemBruce Momjian2014-05-19
| | | | Report by Andrew Dunstan
* doc: 9.4 release note adjustementsBruce Momjian2014-05-19
| | | | Text from David G Johnston
* doc: improve 9.4 release notesBruce Momjian2014-05-18
| | | | Patch by Andres Freund
* Misc message style and doc fixes.Heikki Linnakangas2014-05-15
| | | | Euler Taveira
* doc: Clarify what files pg_basebackup omits from data directoryPeter Eisentraut2014-05-14
|
* pg_upgrade: error out on 'line' data type usageBruce Momjian2014-05-14
| | | | | The data type internal format changed in 9.4. Also mention this in the 9.4 release notes.
* doc: fix 9.4 release notes typoBruce Momjian2014-05-14
| | | | Report by Dean Rasheed
* doc: fix typo in 9.4 release note commentsBruce Momjian2014-05-14
| | | | Patch by Sergey Muraviov
* docs: mention windows quoting change in 9.4 release notesBruce Momjian2014-05-14
| | | | Report by Heikki Linnakangas
* doc: auto-updatable view adjustments for 9.4 release notesBruce Momjian2014-05-14
| | | | Report by Dean Rasheed
* docs: 9.4 release notes adjustmentsBruce Momjian2014-05-13
| | | | Patch by Andres Freund, slight adjustments by me
* docs: use structfield instead of structname in 9.4 release notesBruce Momjian2014-05-12
| | | | Where appropriate
* doc: 9.4 release note adjustmentsBruce Momjian2014-05-12
| | | | Report by Nicolas Barbier, Tatsuo Ishii, MauMau
* Fix typo in test_shm_mq document.Fujii Masao2014-05-13
| | | | Amit Langote
* Rename jsonb_hash_ops to jsonb_path_ops.Tom Lane2014-05-11
| | | | | | | | | | | | | There's no longer much pressure to switch the default GIN opclass for jsonb, but there was still some unhappiness with the name "jsonb_hash_ops", since hashing is no longer a distinguishing property of that opclass, and anyway it seems like a relatively minor detail. At the suggestion of Heikki Linnakangas, we'll use "jsonb_path_ops" instead; that captures the important characteristic that each index entry depends on the entire path from the document root to the indexed value. Also add a user-facing explanation of the implementation properties of these two opclasses.
* docs: Mark 9.4 release notes as current as of todayBruce Momjian2014-05-10
|
* Rename min_recovery_apply_delay to recovery_min_apply_delay.Tom Lane2014-05-10
| | | | | | | Per discussion, this seems like a more consistent choice of name. Fabrízio de Royes Mello, after a suggestion by Peter Eisentraut; some additional documentation wordsmithing by me
* More work on the JSON/JSONB user documentation.Tom Lane2014-05-10
| | | | | | Document existence operator adequately; fix obsolete claim that no Unicode-escape semantic checks happen on input (it's still true for json, but not for jsonb); improve examples; assorted wordsmithing.
* Fix bogus documentation of json_object_agg().Tom Lane2014-05-09
| | | | It takes two arguments, not one.
* Improve user-facing JSON documentation.Tom Lane2014-05-09
| | | | | | I started out with the intention of just fixing the info about the jsonb operator classes, but soon found myself copy-editing most of the JSON material. Hopefully it's more readable now.
* Document permissions needed for pg_database_size and pg_tablespace_size.Tom Lane2014-05-08
| | | | | | | Back in 8.3, we installed permissions checks in these functions (see commits 8bc225e7990a and cc26599b7206). But we forgot to document that anywhere in the user-facing docs; it did get mentioned in the 8.3 release notes, but nobody's looking at that any more. Per gripe from Suya Huang.
* Increase the default value of effective_cache_size to 4GB.Tom Lane2014-05-08
| | | | | | | | | | Per discussion, the old value of 128MB is ridiculously small on modern machines; in fact, it's not even any larger than the default value of shared_buffers, which it certainly should be. Increase to 4GB, which is unlikely to be any worse than the old default for anyone, and should be noticeably better for most. Eventually we might have an autotuning scheme for this setting, but the recent attempt crashed and burned, so for now just do this.
* Revert "Auto-tune effective_cache size to be 4x shared buffers"Tom Lane2014-05-08
| | | | | | | | | | | | | | This reverts commit ee1e5662d8d8330726eaef7d3110cb7add24d058, as well as a remarkably large number of followup commits, which were mostly concerned with the fact that the implementation didn't work terribly well. It still doesn't: we probably need some rather basic work in the GUC infrastructure if we want to fully support GUCs whose default varies depending on the value of another GUC. Meanwhile, it also emerged that there wasn't really consensus in favor of the definition the patch tried to implement (ie, effective_cache_size should default to 4 times shared_buffers). So whack it all back to where it was. In a followup commit, I'll do what was recently agreed to, which is to simply change the default to a higher value.
* When a background worker exists with code 0, unregister it.Robert Haas2014-05-07
| | | | | | | The previous behavior was to restart immediately, which was generally viewed as less useful. Petr Jelinek, with some adjustments by me.
* doc: Fix DocBook XML validityPeter Eisentraut2014-05-06
| | | | | | | | | | | | | | | | | | | | | | | | | The main problem is that DocBook SGML allows indexterm elements just about everywhere, but DocBook XML is stricter. For example, this common pattern <varlistentry> <indexterm>...</indexterm> <term>...</term> ... </varlistentry> needs to be changed to something like <varlistentry> <term>...<indexterm>...</indexterm></term> ... </varlistentry> See also bb4eefe7bf518e42c73797ea37b033a5d8a8e70a. There is currently nothing in the build system that enforces that things stay valid, because that requires additional tools and will receive separate consideration.