summaryrefslogtreecommitdiff
path: root/doc/src
AgeCommit message (Collapse)Author
2014-12-22Change local_preload_libraries to PGC_USERSETPeter Eisentraut
This allows it to be used with ALTER ROLE SET. Although the old setting of PGC_BACKEND prevented changes after session start, after discussion it was more useful to allow ALTER ROLE SET instead and just document that changes during a session have no effect. This is similar to how session_preload_libraries works already. An alternative would be to change things to allow PGC_BACKEND and PGC_SU_BACKEND settings to be changed by ALTER ROLE SET. But that might need further research (e.g., log_connections would probably not work). based on patch by Kyotaro Horiguchi
2014-12-22Further tidy up on json aggregate documentationAndrew Dunstan
2014-12-22Fix documentation of argument type of json_agg and jsonb_aggAndrew Dunstan
json_agg was originally designed to aggregate records. However, it soon became clear that it is useful for aggregating all kinds of values and that's what we have on 9.3 and 9.4, and in head for it and jsonb_agg. The documentation suggested otherwise, so this fixes it.
2014-12-21Docs: clarify treatment of variadic functions with zero variadic arguments.Tom Lane
Explain that you have to use "VARIADIC ARRAY[]" to pass an empty array to a variadic parameter position. This was already implicit in the text but it seems better to spell it out. Per a suggestion from David Johnston, though I didn't use his proposed wording. Back-patch to all supported branches.
2014-12-19doc: Adjust wording of ALTER TABLESPACE restrictionBruce Momjian
Report by Noah Misch
2014-12-19pg_event_trigger_dropped_objects: add behavior flagsAlvaro Herrera
Add "normal" and "original" flags as output columns to the pg_event_trigger_dropped_objects() function. With this it's possible to distinguish which objects, among those listed, need to be explicitely referenced when trying to replicate a deletion. This is necessary so that the list of objects can be pruned to the minimum necessary to replicate the DROP command in a remote server that might have slightly different schema (for instance, TOAST tables and constraints with different names and such.) Catalog version bumped due to change of function definition. Reviewed by: Abhijit Menon-Sen, Stephen Frost, Heikki Linnakangas, Robert Haas.
2014-12-18Improve documentation about CASE and constant subexpressions.Tom Lane
The possibility that constant subexpressions of a CASE might be evaluated at planning time was touched on in 9.17.1 (CASE expressions), but it really ought to be explained in 4.2.14 (Expression Evaluation Rules) which is the primary discussion of such topics. Add text and an example there, and revise the <note> under CASE to link there. Back-patch to all supported branches, since it's acted like this for a long time (though 9.2+ is probably worse because of its more aggressive use of constant-folding via replanning of nominally-prepared statements). Pre-9.4, also back-patch text added in commit 0ce627d4 about CASE versus aggregate functions. Tom Lane and David Johnston, per discussion of bug #12273.
2014-12-18Have VACUUM log number of skipped pages due to pinsAlvaro Herrera
Author: Jim Nasby, some kibitzing by Heikki Linnankangas. Discussion leading to current behavior and precise wording fueled by thoughts from Robert Haas and Andres Freund.
2014-12-17Lock down regression testing temporary clusters on Windows.Noah Misch
Use SSPI authentication to allow connections exclusively from the OS user that launched the test suite. This closes on Windows the vulnerability that commit be76a6d39e2832d4b88c0e1cc381aa44a7f86881 closed on other platforms. Users of "make installcheck" or custom test harnesses can run "pg_regress --config-auth=DATADIR" to activate the same authentication configuration that "make check" would use. Back-patch to 9.0 (all supported versions). Security: CVE-2014-0067
2014-12-17Allow CHECK constraints to be placed on foreign tables.Tom Lane
As with NOT NULL constraints, we consider that such constraints are merely reports of constraints that are being enforced by the remote server (or other underlying storage mechanism). Their only real use is to allow planner optimizations, for example in constraint-exclusion checks. Thus, the code changes here amount to little more than removal of the error that was formerly thrown for applying CHECK to a foreign table. (In passing, do a bit of cleanup of the ALTER FOREIGN TABLE reference page, which had accumulated some weird decisions about ordering etc.) Shigeru Hanada and Etsuro Fujita, reviewed by Kyotaro Horiguchi and Ashutosh Bapat.
2014-12-17Add missing documentation for some vcregress modesMagnus Hagander
Michael Paquier
2014-12-17Remove redundant sentenceMagnus Hagander
Spotted by David Johnston
2014-12-14doc: Add link to how to specify time zone names to initdb man pagePeter Eisentraut
2014-12-14Improve documentation around parameter-setting and ALTER SYSTEM.Tom Lane
The ALTER SYSTEM ref page hadn't been held to a very high standard, nor was the feature well integrated into section 18.1 (parameter setting). Also, though commit 4c4654afe had improved the structure of 18.1, it also introduced a lot of poor wording, imprecision, and outright falsehoods. Try to clean that up.
2014-12-14Update 9.4 release notes.Tom Lane
Set release date, do a final pass of wordsmithing, improve some other new-in-9.4 documentation.
2014-12-13doc: Fix markupPeter Eisentraut
2014-12-13Add CINE option for CREATE TABLE AS and CREATE MATERIALIZED VIEWAndrew Dunstan
Fabrízio de Royes Mello reviewed by Rushabh Lathia.
2014-12-13Improve recovery target settings documentation.Tom Lane
Commit 815d71dee hadn't bothered to update the documentation to match the behavioral change, and a lot of other text in this section was badly in need of copy-editing.
2014-12-12Add several generator functions for jsonb that exist for json.Andrew Dunstan
The functions are: to_jsonb() jsonb_object() jsonb_build_object() jsonb_build_array() jsonb_agg() jsonb_object_agg() Also along the way some better logic is implemented in json_categorize_type() to match that in the newly implemented jsonb_categorize_type(). Andrew Dunstan, reviewed by Pavel Stehule and Alvaro Herrera.
2014-12-12Add json_strip_nulls and jsonb_strip_nulls functions.Andrew Dunstan
The functions remove object fields, including in nested objects, that have null as a value. In certain cases this can lead to considerably smaller datums, with no loss of semantic information. Andrew Dunstan, reviewed by Pavel Stehule.
2014-12-11doc: Move website-stylesheet setting to a more appropriate locationPeter Eisentraut
2014-12-09REINDEX SCHEMASimon Riggs
Add new SCHEMA option to REINDEX and reindexdb. Sawada Masahiko Reviewed by Michael Paquier and Fabrízio de Royes Mello
2014-12-08doc: Fix DocBook table column count declarationPeter Eisentraut
This was broken in 618c9430a82860c84a3be2711eec2c3b43573b2a.
2014-12-08Correct recovery_target_action docsSimon Riggs
From Michael Paquier
2014-12-08Event Trigger for table_rewriteSimon Riggs
Generate a table_rewrite event when ALTER TABLE attempts to rewrite a table. Provide helper functions to identify table and reason. Intended use case is to help assess or to react to schema changes that might hold exclusive locks for long periods. Dimitri Fontaine, triggering an edit by Simon Riggs Reviewed in detail by Michael Paquier
2014-12-04Document that pg_stat_*_tables.n_tup_upd includes n_tup_hot_upd.Andres Freund
Author: Peter Geoghegan
2014-12-04Remove USE_VPATH make variable from PGXSPeter Eisentraut
The user can just set VPATH directly. There is no need to invent another variable.
2014-12-03doc: Fix markupAlvaro Herrera
In the spirit of d34b48a021b181e30c53280d336820740f67570b Per buildfarm member guaibasaurus, via Stefan Kaltenbrunner.
2014-12-03Keep track of transaction commit timestampsAlvaro Herrera
Transactions can now set their commit timestamp directly as they commit, or an external transaction commit timestamp can be fed from an outside system using the new function TransactionTreeSetCommitTsData(). This data is crash-safe, and truncated at Xid freeze point, same as pg_clog. This module is disabled by default because it causes a performance hit, but can be enabled in postgresql.conf requiring only a server restart. A new test in src/test/modules is included. Catalog version bumped due to the new subdirectory within PGDATA and a couple of new SQL functions. Authors: Álvaro Herrera and Petr Jelínek Reviewed to varying degrees by Michael Paquier, Andres Freund, Robert Haas, Amit Kapila, Fujii Masao, Jaime Casanova, Simon Riggs, Steven Singer, Peter Eisentraut
2014-12-02pageinspect/BRIN: minor tweaksAlvaro Herrera
Michael Paquier Double-dash additions suggested by Peter Geoghegan
2014-12-01Fix missing space in documentationMagnus Hagander
Ian Barwick
2014-11-29Move test modules from contrib to src/test/modulesAlvaro Herrera
This is advance preparation for introducing even more test modules; the easy solution is to add them to contrib, but that's bloated enough that it seems a good time to think of something different. Moved modules are dummy_seclabel, test_shm_mq, test_parser and worker_spi. (test_decoding was also a candidate, but there was too much opposition to moving that one. We can always reconsider later.)
2014-11-29Remove PQhostaddr() from 9.4 release notes.Noah Misch
Back-patch to 9.4, like the feature's removal.
2014-11-29Revert "Add libpq function PQhostaddr()."Noah Misch
This reverts commit 9f80f4835a55a1cbffcda5d23a617917f3286c14. The function returned the raw value of a connection parameter, a task served by PQconninfo(). The next commit will reimplement the psql \conninfo change that way. Back-patch to 9.4, where that commit first appeared.
2014-11-27Rename pg_rowsecurity -> pg_policy and other fixesStephen Frost
As pointed out by Robert, we should really have named pg_rowsecurity pg_policy, as the objects stored in that catalog are policies. This patch fixes that and updates the column names to start with 'pol' to match the new catalog name. The security consideration for COPY with row level security, also pointed out by Robert, has also been addressed by remembering and re-checking the OID of the relation initially referenced during COPY processing, to make sure it hasn't changed under us by the time we finish planning out the query which has been built. Robert and Alvaro also commented on missing OCLASS and OBJECT entries for POLICY (formerly ROWSECURITY or POLICY, depending) in various places. This patch fixes that too, which also happens to add the ability to COMMENT on policies. In passing, attempt to improve the consistency of messages, comments, and documentation as well. This removes various incarnations of 'row-security', 'row-level security', 'Row-security', etc, in favor of 'policy', 'row level security' or 'row_security' as appropriate. Happy Thanksgiving!
2014-11-25doc: Fix markupPeter Eisentraut
2014-11-25Remove extraneous SGML tagSimon Riggs
2014-11-25action_at_recovery_target recovery config optionSimon Riggs
action_at_recovery_target = pause | promote | shutdown Petr Jelinek Reviewed by Muhammad Asif Naeem, Fujji Masao and Simon Riggs
2014-11-25Support arrays as input to array_agg() and ARRAY(SELECT ...).Tom Lane
These cases formerly failed with errors about "could not find array type for data type". Now they yield arrays of the same element type and one higher dimension. The implementation involves creating functions with API similar to the existing accumArrayResult() family. I (tgl) also extended the base family by adding an initArrayResult() function, which allows callers to avoid special-casing the zero-inputs case if they just want an empty array as result. (Not all do, so the previous calling convention remains valid.) This allowed simplifying some existing code in xml.c and plperl.c. Ali Akbar, reviewed by Pavel Stehule, significantly modified by me
2014-11-25Allow "dbname" from connection string to be overridden in PQconnectDBParamsHeikki Linnakangas
If the "dbname" attribute in PQconnectDBParams contained a connection string or URI (and expand_dbname = TRUE), the database name from the connection string could not be overridden by a subsequent "dbname" keyword in the array. That was not intentional; all other options can be overridden. Furthermore, any subsequent "dbname" caused the connection string from the first dbname value to be processed again, overriding any values for the same options that were given between the connection string and the second dbname option. In the passing, clarify in the docs that only the first dbname option in the array is parsed as a connection string. Alex Shulgin. Backpatch to all supported versions.
2014-11-21Add pageinspect functions for inspecting GIN indexes.Heikki Linnakangas
Patch by me, Peter Geoghegan and Michael Paquier, reviewed by Amit Kapila.
2014-11-19Improve documentation's description of JOIN clauses.Tom Lane
In bug #12000, Andreas Kunert complained that the documentation was misleading in saying "FROM T1 CROSS JOIN T2 is equivalent to FROM T1, T2". That's correct as far as it goes, but the equivalence doesn't hold when you consider three or more tables, since JOIN binds more tightly than comma. I added a <note> to explain this, and ended up rearranging some of the existing text so that the note would make sense in context. In passing, rewrite the description of JOIN USING, which was unnecessarily vague, and hadn't been helped any by somebody's reliance on markup as a substitute for clear writing. (Mostly this involved reintroducing a concrete example that was unaccountably removed by commit 032f3b7e166cfa28.) Back-patch to all supported branches.
2014-11-17Add pg_dump --snapshot optionSimon Riggs
Allows pg_dump to use a snapshot previously defined by a concurrent session that has either used pg_export_snapshot() or obtained a snapshot when creating a logical slot. When this option is used with parallel pg_dump, the snapshot defined by this option is used and no new snapshot is taken. Simon Riggs and Michael Paquier
2014-11-17Update 9.4 release notes for commits through today.Tom Lane
2014-11-18Add --synchronous option to pg_receivexlog, for more reliable WAL writing.Fujii Masao
Previously pg_receivexlog flushed WAL data only when WAL file was switched. Then 3dad73e added -F option to pg_receivexlog so that users could control how frequently sync commands were issued to WAL files. It also allowed users to make pg_receivexlog flush WAL data immediately after writing by specifying 0 in -F option. However feedback messages were not sent back immediately even after a flush location was updated. So even if WAL data was flushed in real time, the server could not see that for a while. This commit removes -F option from and adds --synchronous to pg_receivexlog. If --synchronous is specified, like the standby's wal receiver, pg_receivexlog flushes WAL data as soon as there is WAL data which has not been flushed yet. Then it sends back the feedback message identifying the latest flush location to the server. This option is useful to make pg_receivexlog behave as sync standby by using replication slot, for example. Original patch by Furuya Osamu, heavily rewritten by me. Reviewed by Heikki Linnakangas, Alvaro Herrera and Sawada Masahiko.
2014-11-16Mention the TZ environment variable for initdbMagnus Hagander
Daniel Gustafsson
2014-11-16Restructure doc sections about statistics viewsMagnus Hagander
Break out the "dynamic statistics" views in the table from the "collected statistics" ones. Could do with some more refactoring, but this is a start.
2014-11-14Document evaluation-order considerations for aggregate functions.Tom Lane
The SELECT reference page didn't really address the question of when aggregate function evaluation occurs, nor did the "expression evaluation rules" documentation mention that CASE can't be used to control whether an aggregate gets evaluated or not. Improve that. Per discussion of bug #11661. Original text by Marti Raudsepp and Michael Paquier, rewritten significantly by me.
2014-11-14Document BRIN's pages_per_range in CREATE INDEXAlvaro Herrera
Author: Michael Paquier
2014-11-14Revert change to ALTER TABLESPACE summary.Stephen Frost
When ALTER TABLESPACE MOVE ALL was changed to be ALTER TABLE ALL IN TABLESPACE, the ALTER TABLESPACE summary should have been adjusted back to its original definition. Patch by Thom Brown (thanks!).