summaryrefslogtreecommitdiff
path: root/doc/src
AgeCommit message (Collapse)Author
2014-01-21Add a cardinality function for arrays.Robert Haas
Unlike our other array functions, this considers the total number of elements across all dimensions, and returns 0 rather than NULL when the array has no elements. But it seems that both of those behaviors are almost universally disliked, so hopefully that's OK. Marko Tiikkaja, reviewed by Dean Rasheed and Pavel Stehule
2014-01-19Remove support for native krb5 authenticationMagnus Hagander
krb5 has been deprecated since 8.3, and the recommended way to do Kerberos authentication is using the GSSAPI authentication method (which is still fully supported). libpq retains the ability to identify krb5 authentication, but only gives an error message about it being unsupported. Since all authentication is initiated from the backend, there is no need to keep it at all in the backend.
2014-01-18Add CREATE TABLESPACE ... WITH ... OptionsStephen Frost
Tablespaces have a few options which can be set on them to give PG hints as to how the tablespace behaves (perhaps it's faster for sequential scans, or better able to handle random access, etc). These options were only available through the ALTER TABLESPACE command. This adds the ability to set these options at CREATE TABLESPACE time, removing the need to do both a CREATE TABLESPACE and ALTER TABLESPACE to get the correct options set on the tablespace. Vik Fearing, reviewed by Michael Paquier.
2014-01-18Add ALTER TABLESPACE ... MOVE commandStephen Frost
This adds a 'MOVE' sub-command to ALTER TABLESPACE which allows moving sets of objects from one tablespace to another. This can be extremely handy and avoids a lot of error-prone scripting. ALTER TABLESPACE ... MOVE will only move objects the user owns, will notify the user if no objects were found, and can be used to move ALL objects or specific types of objects (TABLES, INDEXES, or MATERIALIZED VIEWS).
2014-01-17Add gen_random_uuid() to contrib/pgcrypto.Tom Lane
This function provides a way of generating version 4 (pseudorandom) UUIDs based on pgcrypto's PRNG. The main reason for doing this is that the OSSP UUID library depended on by contrib/uuid-ossp is becoming more and more of a porting headache, so we need an alternative for people who can't install that. A nice side benefit though is that this implementation is noticeably faster than uuid-ossp's uuid_generate_v4() function. Oskari Saarenmaa, reviewed by Emre Hasegeli
2014-01-16doc: rename "Equals" to "Equal"Bruce Momjian
2014-01-16doc: fix := description typo.Bruce Momjian
2014-01-16docs: update PL/pgSQL docs about the use of := and =Bruce Momjian
2014-01-16Add display of oprcode (the underlying function's name) to psql's \do+.Tom Lane
The + modifier of \do didn't use to do anything, but now it adds an oprcode column. This is useful both as an additional form of documentation of what the operator does, and to save a step when finding out properties of the underlying function. Marko Tiikkaja, reviewed by Rushabh Lathia, adjusted a bit by me
2014-01-14Improve FILES section of psql reference page.Tom Lane
Primarily, explain where to find the system-wide psqlrc file, per recent gripe from John Sutton. Do some general wordsmithing and improve the markup, too. Also adjust psqlrc.sample so its comments about file location are somewhat trustworthy. (Not sure why we bother with this file when it's empty, but whatever.) Back-patch to 9.2 where the startup file naming scheme was last changed.
2014-01-14Documentation for test_shm_mq.Robert Haas
Commit 4db3744f1f43554b03d8193da4645a0a5326eb18 added this contrib module but neglected to document it. Oops.
2014-01-14Mention that VACUUM FREEZE also effectively zeroes the table freeze age.Robert Haas
Maciek Sakrejda, reviewed by Amit Kapila
2014-01-13Add OVERLAPS to index in the docs.Heikki Linnakangas
Per report from Adam Mackler and Jonathan Katz
2014-01-11Revert fd2ace802811c333b0b4e1a28b138fd4774745f3Bruce Momjian
Seems we want to document '=' plpgsql assignment instead.
2014-01-11docs: remove undocumented assign syntax in plpgsql examplesBruce Momjian
Pavel Stehule
2014-01-07Update copyright for 2014Bruce Momjian
Update all files in head, and files COPYRIGHT and legal.sgml in all back branches.
2014-01-06Add more use of psprintf()Peter Eisentraut
2014-01-02Aggressively freeze tables when CLUSTER or VACUUM FULL rewrites them.Robert Haas
We haven't wanted to do this in the past on the grounds that in rare cases the original xmin value will be needed for forensic purposes, but commit 37484ad2aacef5ec794f4dd3d5cf814475180a78 removes that objection, so now we can. Per extensive discussion, among many people, on pgsql-hackers.
2013-12-30Fix alphabetization in catalogs.sgml.Tom Lane
Some recent patches seem not to have grasped the concept that the catalogs are described in alphabetical order.
2013-12-23Revise documentation for new freezing method.Robert Haas
Commit 37484ad2aacef5ec794f4dd3d5cf814475180a78 invalidated a good chunk of documentation, so patch it up to reflect the new state of play. Along the way, patch remaining documentation references to FrozenXID to say instead FrozenTransactionId, so that they match the way we actually spell it in the code.
2013-12-23Support ordered-set (WITHIN GROUP) aggregates.Tom Lane
This patch introduces generic support for ordered-set and hypothetical-set aggregate functions, as well as implementations of the instances defined in SQL:2008 (percentile_cont(), percentile_disc(), rank(), dense_rank(), percent_rank(), cume_dist()). We also added mode() though it is not in the spec, as well as versions of percentile_cont() and percentile_disc() that can compute multiple percentile values in one pass over the data. Unlike the original submission, this patch puts full control of the sorting process in the hands of the aggregate's support functions. To allow the support functions to find out how they're supposed to sort, a new API function AggGetAggref() is added to nodeAgg.c. This allows retrieval of the aggregate call's Aggref node, which may have other uses beyond the immediate need. There is also support for ordered-set aggregates to install cleanup callback functions, so that they can be sure that infrastructure such as tuplesort objects gets cleaned up. In passing, make some fixes in the recently-added support for variadic aggregates, and make some editorial adjustments in the recent FILTER additions for aggregates. Also, simplify use of IsBinaryCoercible() by allowing it to succeed whenever the target type is ANY or ANYELEMENT. It was inconsistent that it dealt with other polymorphic target types but not these. Atri Sharma and Andrew Gierth; reviewed by Pavel Stehule and Vik Fearing, and rather heavily editorialized upon by Tom Lane
2013-12-21Rename wal_log_hintbits to wal_log_hints, per discussion on pgsql-hackers.Fujii Masao
Sawada Masahiko
2013-12-20pg_prewarm, a contrib module for prewarming relationd data.Robert Haas
Patch by me. Review by Álvaro Herrera, Amit Kapila, Jeff Janes, Gurjeet Singh, and others.
2013-12-19Fix typo in docs for min_recovery_apply_delay.Fujii Masao
Bernd Helmle
2013-12-18Add ALTER SYSTEM command to edit the server configuration file.Tatsuo Ishii
Patch contributed by Amit Kapila. Reviewed by Hari Babu, Masao Fujii, Boszormenyi Zoltan, Andres Freund, Greg Smith and others.
2013-12-14Allow empty target list in SELECT.Tom Lane
This fixes a problem noted as a followup to bug #8648: if a query has a semantically-empty target list, e.g. SELECT * FROM zero_column_table, ruleutils.c will dump it as a syntactically-empty target list, which was not allowed. There doesn't seem to be any reliable way to fix this by hacking ruleutils (note in particular that the originally zero-column table might since have had columns added to it); and even if we had such a fix, it would do nothing for existing dump files that might contain bad syntax. The best bet seems to be to relax the syntactic restriction. Also, add parse-analysis errors for SELECT DISTINCT with no columns (after *-expansion) and RETURNING with no columns. These cases previously produced unexpected behavior because the parsed Query looked like it had no DISTINCT or RETURNING clause, respectively. If anyone ever offers a plausible use-case for this, we could work a bit harder on making the situation distinguishable. Arguably this is a bug fix that should be back-patched, but I'm worried that there may be client apps or PLs that expect "SELECT ;" to throw a syntax error. The issue doesn't seem important enough to risk changing behavior in minor releases.
2013-12-13Fix more instances of "the the" in comments.Heikki Linnakangas
Plus one instance of "to to" in the docs.
2013-12-13Add GUC to enable WAL-logging of hint bits, even with checksums disabled.Heikki Linnakangas
WAL records of hint bit updates is useful to tools that want to examine which pages have been modified. In particular, this is required to make the pg_rewind tool safe (without checksums). This can also be used to test how much extra WAL-logging would occur if you enabled checksums, without actually enabling them (which you can't currently do without re-initdb'ing). Sawada Masahiko, docs by Samrat Revagade. Reviewed by Dilip Kumar, with further changes by me.
2013-12-13Fix double "the" in the documentationMagnus Hagander
Erik Rijkers
2013-12-12configure: Allow adding a custom string to PG_VERSIONPeter Eisentraut
This can be used to mark custom built binaries with an extra version string such as a git describe identifier or distribution package release version. From: Oskari Saarenmaa <os@ohmu.fi>
2013-12-12Fix ancient docs/comments thinko: XID comparison is mod 2^32, not 2^31.Tom Lane
Pointed out by Gianni Ciolli.
2013-12-12Improve EXPLAIN to print the grouping columns in Agg and Group nodes.Tom Lane
Per request from Kevin Grittner.
2013-12-12New autovacuum_work_mem parameterSimon Riggs
If autovacuum_work_mem is set, autovacuum workers now use this parameter in preference to maintenance_work_mem. Peter Geoghegan
2013-12-12Allow time delayed standbys and recoverySimon Riggs
Set min_recovery_apply_delay to force a delay in recovery apply for commit and restore point WAL records. Other records are replayed immediately. Delay is measured between WAL record time and local standby time. Robert Haas, Fabrízio de Royes Mello and Simon Riggs Detailed review by Mitsumasa Kondo
2013-12-12Display old and new values in pg_resetxlog -n output.Heikki Linnakangas
For extra clarity. Rajeev Rastogi, reviewed by Amit Kapila
2013-12-11PL/Perl: Add event trigger supportPeter Eisentraut
From: Dimitri Fontaine <dimitri@2ndQuadrant.fr>
2013-12-11Add a new option, -g, to createuser, to add membership in a role.Robert Haas
Chistopher Browne, reviewed by Sameer Thakur, Amit Kapila, and Peter Eisentraut.
2013-12-10doc: Fix DocBook table column count declarationPeter Eisentraut
This was broken in d6464fdc0a591662e5e5ee1b0303932e89cb027c.
2013-12-10Add new wal_level, logical, sufficient for logical decoding.Robert Haas
When wal_level=logical, we'll log columns from the old tuple as configured by the REPLICA IDENTITY facility added in commit 07cacba983ef79be4a84fcd0e0ca3b5fcb85dd65. This makes it possible a properly-configured logical replication solution to correctly follow table updates even if they change the chosen key columns, or, with REPLICA IDENTITY FULL, even if the table has no key at all. Note that updates which do not modify the replica identity column won't log anything extra, making the choice of a good key (i.e. one that will rarely be changed) important to performance when wal_level=logical is configured. Each insert, update, or delete to a catalog table will also log the CMIN and/or CMAX values of stamped by the current transaction. This is necessary because logical decoding will require access to historical snapshots of the catalog in order to decode some data types, and the CMIN/CMAX values that we may need in order to judge row visibility may have been overwritten by the time we need them. Andres Freund, reviewed in various versions by myself, Heikki Linnakangas, KONDO Mitsumasa, and many others.
2013-12-10Rename TABLE() to ROWS FROM().Noah Misch
SQL-standard TABLE() is a subset of UNNEST(); they deal with arrays and other collection types. This feature, however, deals with set-returning functions. Use a different syntax for this feature to keep open the possibility of implementing the standard TABLE().
2013-12-09pgcrypto docs: update cpu type used in duration testingBruce Momjian
2013-12-09pgcrypto docs: update encryption timings and add relative timesBruce Momjian
Miles Elam
2013-12-07Fix a couple of typosMagnus Hagander
Noted by Peter Geoghegan
2013-12-07SSL: Support ECDH key exchangePeter Eisentraut
This sets up ECDH key exchange, when compiling against OpenSSL that supports EC. Then the ECDHE-RSA and ECDHE-ECDSA cipher suites can be used for SSL connections. The latter one means that EC keys are now usable. The reason for EC key exchange is that it's faster than DHE and it allows to go to higher security levels where RSA will be horribly slow. There is also new GUC option ssl_ecdh_curve that specifies the curve name used for ECDH. It defaults to "prime256v1", which is the most common curve in use in HTTPS. From: Marko Kreen <markokr@gmail.com> Reviewed-by: Adrian Klaver <adrian.klaver@gmail.com>
2013-12-08Expose qurey ID in pg_stat_statements view.Fujii Masao
The query ID is the internal hash identifier of the statement, and was not available in pg_stat_statements view so far. Daniel Farina, Sameer Thakur and Peter Geoghegan, reviewed by me.
2013-12-07SSL: Add configuration option to prefer server cipher orderPeter Eisentraut
By default, OpenSSL (and SSL/TLS in general) lets the client cipher order take priority. This is OK for browsers where the ciphers were tuned, but few PostgreSQL client libraries make the cipher order configurable. So it makes sense to have the cipher order in postgresql.conf take priority over client defaults. This patch adds the setting "ssl_prefer_server_ciphers" that can be turned on so that server cipher order is preferred. Per discussion, this now defaults to on. From: Marko Kreen <markokr@gmail.com> Reviewed-by: Adrian Klaver <adrian.klaver@gmail.com>
2013-12-06docs: update partition encryption optionsBruce Momjian
Text from Adam Vande More
2013-12-06docs: clarify SSL certificate authority chain docsBruce Momjian
Previously, the requirements of how intermediate certificates were handled and their chain to root certificates was unclear.
2013-12-04doc: split long query into multiple linesBruce Momjian
Report from Erik Rijkers
2013-12-03libpq: change PQconndefaults() to ignore invalid service filesBruce Momjian
Previously missing or invalid service files returned NULL. Also fix pg_upgrade to report "out of memory" for a null return from PQconndefaults(). Patch by Steve Singer, rewritten by me