summaryrefslogtreecommitdiff
path: root/doc/src
AgeCommit message (Collapse)Author
2013-07-16Allow background workers to be started dynamically.Robert Haas
There is a new API, RegisterDynamicBackgroundWorker, which allows an ordinary user backend to register a new background writer during normal running. This means that it's no longer necessary for all background workers to be registered during processing of shared_preload_libraries, although the option of registering workers at that time remains available. When a background worker exits and will not be restarted, the slot previously used by that background worker is automatically released and becomes available for reuse. Slots used by background workers that are configured for automatic restart can't (yet) be released without shutting down the system. This commit adds a new source file, bgworker.c, and moves some of the existing control logic for background workers there. Previously, there was little enough logic that it made sense to keep everything in postmaster.c, but not any more. This commit also makes the worker_spi contrib module into an extension and adds a new function, worker_spi_launch, which can be used to demonstrate the new facility.
2013-07-14Document the OVER keyword as being unreserved.Noah Misch
It became so in commit 5893ffa79c03824f34ae3d37f211381fd1c17283. David Fetter, extracted from a larger patch.
2013-07-12Add session_preload_libraries configuration parameterPeter Eisentraut
This is like shared_preload_libraries except that it takes effect at backend start and can be changed without a full postmaster restart. It is like local_preload_libraries except that it is still only settable by a superuser. This can be a better way to load modules such as auto_explain. Since there are now three preload parameters, regroup the documentation a bit. Put all parameters into one section, explain common functionality only once, update the descriptions to reflect current and future realities. Reviewed-by: Dimitri Fontaine <dimitri@2ndQuadrant.fr>
2013-07-12Switch user ID to the object owner when populating a materialized view.Noah Misch
This makes superuser-issued REFRESH MATERIALIZED VIEW safe regardless of the object's provenance. REINDEX is an earlier example of this pattern. As a downside, functions called from materialized views must tolerate running in a security-restricted operation. CREATE MATERIALIZED VIEW need not change user ID. Nonetheless, avoid creation of materialized views that will invariably fail REFRESH by making it, too, start a security-restricted operation. Back-patch to 9.3 so materialized views have this from the beginning. Reviewed by Kevin Grittner.
2013-07-11pg_upgrade: document possible pg_hba.conf optionsBruce Momjian
Previously, pg_upgrade docs recommended using .pgpass if using MD5 authentication to avoid being prompted for a password. Turns out pg_ctl never prompts for a password, so MD5 requires .pgpass --- document that. Also recommend 'peer' for authentication too. Backpatch back to 9.1.
2013-07-10doc: Replace link to pgFouine with pgBadgerPeter Eisentraut
From: Ian Lawrence Barwick <barwick@gmail.com>
2013-07-08Fix mention of htup.h in pageinspect docsAlvaro Herrera
It's htup_details.h now. Jeff Janes
2013-07-07pg_upgrade: document link optionsBruce Momjian
Document that tablespaces and pg_xlog can be on different file systems for pg_upgrade --link mode. Backpatch to 9.3.
2013-07-05PL/Python: Convert numeric to DecimalPeter Eisentraut
The old implementation converted PostgreSQL numeric to Python float, which was always considered a shortcoming. Now numeric is converted to the Python Decimal object. Either the external cdecimal module or the standard library decimal module are supported. From: Szymon Guz <mabewlun@gmail.com> From: Ronan Dunklau <rdunklau@gmail.com> Reviewed-by: Steve Singer <steve@ssinger.info>
2013-07-05Update messages, comments and documentation for materialized views.Noah Misch
All instances of the verbiage lagging the code. Back-patch to 9.3, where materialized views were introduced.
2013-07-05Remove stray | characterMagnus Hagander
Erikjan Rijkers
2013-07-05Fix spelling errorMagnus Hagander
Reported by Kevin Hale Boyes
2013-07-05Expose the estimation of number of changed tuples since last analyzeMagnus Hagander
This value, now pg_stat_all_tables.n_mod_since_analyze, was already tracked and used by autovacuum, but not exposed to the user. Mark Kirkwood, review by Laurenz Albe
2013-07-04Add contrib function references in the doc indexBruce Momjian
Backpatch to 9.3. Idea from Craig Ringer
2013-07-04Add new GUC, max_worker_processes, limiting number of bgworkers.Robert Haas
In 9.3, there's no particular limit on the number of bgworkers; instead, we just count up the number that are actually registered, and use that to set MaxBackends. However, that approach causes problems for Hot Standby, which needs both MaxBackends and the size of the lock table to be the same on the standby as on the master, yet it may not be desirable to run the same bgworkers in both places. 9.3 handles that by failing to notice the problem, which will probably work fine in nearly all cases anyway, but is not theoretically sound. A further problem with simply counting the number of registered workers is that new workers can't be registered without a postmaster restart. This is inconvenient for administrators, since bouncing the postmaster causes an interruption of service. Moreover, there are a number of applications for background processes where, by necessity, the background process must be started on the fly (e.g. parallel query). While this patch doesn't actually make it possible to register new background workers after startup time, it's a necessary prerequisite. Patch by me. Review by Michael Paquier.
2013-07-04docs: Clarify flag dependencies for background workers.Robert Haas
BGWORKER_BACKEND_DATABASE_CONNECTION can only be used if BGWORKER_SHMEM_ACCESS is also used. Michael Paquier, with some tweaks by me.
2013-07-04doc: Fix typo in event trigger documentationPeter Eisentraut
From: Dimitri Fontaine <dimitri@2ndQuadrant.fr>
2013-07-03doc: Add event trigger C API documentationPeter Eisentraut
From: Dimitri Fontaine <dimitri@2ndQuadrant.fr>
2013-07-04Get rid of pg_class.reltoastidxid.Fujii Masao
Treat TOAST index just the same as normal one and get the OID of TOAST index from pg_index but not pg_class.reltoastidxid. This change allows us to handle multiple TOAST indexes, and which is required infrastructure for upcoming REINDEX CONCURRENTLY feature. Patch by Michael Paquier, reviewed by Andres Freund and me.
2013-07-03pg_buffercache: document column meaningsBruce Momjian
Improve documentation for usagecount and relforknumber. Backpatch to 9.3. Suggestion from Satoshi Nagayasu
2013-07-03Expose object name error fields in PL/pgSQL.Noah Misch
Specifically, permit attaching them to the error in RAISE and retrieving them from a caught error in GET STACKED DIAGNOSTICS. RAISE enforces nothing about the content of the fields; for its purposes, they are just additional string fields. Consequently, clarify in the protocol and libpq documentation that the usual relationships between error fields, like a schema name appearing wherever a table name appears, are not universal. This freedom has other applications; consider a FDW propagating an error from an RDBMS having no schema support. Back-patch to 9.3, where core support for the error fields was introduced. This prevents the confusion of having a release where libpq exposes the fields and PL/pgSQL does not. Pavel Stehule, lexical revisions by Noah Misch.
2013-07-02doc: Remove i18ngurus.com linkPeter Eisentraut
The web site is dead, and the Wayback Machine shows that it didn't have much useful content before.
2013-07-02doc: Arrange See Also links in more consistent orderPeter Eisentraut
2013-07-02Mention extra_float_digits in floating point docsAlvaro Herrera
Make it easier for readers of the FP docs to find out about possibly truncated values. Per complaint from Tom Duffey in message F0E0F874-C86F-48D1-AA2A-0C5365BF5118@trillitech.com Author: Albe Laurenz Reviewed by: Abhijit Menon-Sen
2013-07-02Use an MVCC snapshot, rather than SnapshotNow, for catalog scans.Robert Haas
SnapshotNow scans have the undesirable property that, in the face of concurrent updates, the scan can fail to see either the old or the new versions of the row. In many cases, we work around this by requiring DDL operations to hold AccessExclusiveLock on the object being modified; in some cases, the existing locking is inadequate and random failures occur as a result. This commit doesn't change anything related to locking, but will hopefully pave the way to allowing lock strength reductions in the future. The major issue has held us back from making this change in the past is that taking an MVCC snapshot is significantly more expensive than using a static special snapshot such as SnapshotNow. However, testing of various worst-case scenarios reveals that this problem is not severe except under fairly extreme workloads. To mitigate those problems, we avoid retaking the MVCC snapshot for each new scan; instead, we take a new snapshot only when invalidation messages have been processed. The catcache machinery already requires that invalidation messages be sent before releasing the related heavyweight lock; else other backends might rely on locally-cached data rather than scanning the catalog at all. Thus, making snapshot reuse dependent on the same guarantees shouldn't break anything that wasn't already subtly broken. Patch by me. Review by Michael Paquier and Andres Freund.
2013-07-01pg_dump docs: use escaped double-quotes, for WindowsBruce Momjian
On Unix, you can embed double-quotes in single-quotes, and via versa. However, on Windows, you can only escape double-quotes in double-quotes, so use that in the pg_dump -t/table example. Backpatch to 9.3. Report from Mike Toews
2013-07-01Add timezone offset output option to to_char()Bruce Momjian
Add ability for to_char() to output the timezone's UTC offset (OF). We already have the ability to return the timezone abbeviation (TZ/tz). Per request from Andrew Dunstan
2013-06-29ALTER TABLE ... ALTER CONSTRAINT for FKsSimon Riggs
Allow constraint attributes to be altered, so the default setting of NOT DEFERRABLE can be altered to DEFERRABLE and back. Review by Abhijit Menon-Sen
2013-06-28pg_upgrade: remove -h optionBruce Momjian
-h (help) is not needed; pg_upgrade already supports --help and -?, which is consistent with other tools.
2013-06-28pg_upgrade: trim down --help and doc option descriptionsBruce Momjian
Previous code had old/new prefixes on option values, e.g. --old-datadir=OLDDATADIR. Remove them, for simplicity; now: --old-datadir=DATADIR. Also update docs to do the same.
2013-06-28Send SIGKILL to children if they don't die quickly in immediate shutdownAlvaro Herrera
On immediate shutdown, or during a restart-after-crash sequence, postmaster used to send SIGQUIT (and then abandon ship if shutdown); but this is not a good strategy if backends don't die because of that signal. (This might happen, for example, if a backend gets tangled trying to malloc() due to gettext(), as in an example illustrated by MauMau.) This causes problems when later trying to restart the server, because some processes are still attached to the shared memory segment. Instead of just abandoning such backends to their fates, we now have postmaster hang around for a little while longer, send a SIGKILL after some reasonable waiting period, and then exit. This makes immediate shutdown more reliable. There is disagreement on whether it's best for postmaster to exit after sending SIGKILL, or to stick around until all children have reported death. If this controversy is resolved differently than what this patch implements, it's an easy change to make. Bug reported by MauMau in message 20DAEA8949EC4E2289C6E8E58560DEC0@maumau MauMau and Álvaro Herrera
2013-06-28pg_upgrade: change -u to -U, for consistencyBruce Momjian
Change -u (user) option to -U, for consistency with other tools like pg_dump and psql. Also expand --user to --username, again for consistency. BACKWARD INCOMPATIBILITY
2013-06-27Update pg_resetxlog's documentation on multixactsAlvaro Herrera
I added some more functionality to it in 0ac5ad5134f27 but neglected to add it to the docs. Per Peter Eisentraut in message 1367112171.32604.4.camel@vanquo.pezone.net
2013-06-27Document relminmxid and datminmxidAlvaro Herrera
I introduced these new fields in 0ac5ad5134f27 but neglected to add them to the system catalogs section of the docs. Per Thom Brown in message CAA-aLv7UiO=Whiq3MVbsEqSyQRthuX8Tb_RLyBuQt0KQBp=6EQ@mail.gmail.com
2013-06-27Fixed incorrect description of EXEC SQL VAR command.Michael Meskes
Thanks to MauMau <maumau307@gmail.com> for finding and fixing this.
2013-06-27pgbench: Add long options for all existing short options.Robert Haas
Fabien Coelho, reviewed by Fabrízio de Royes Mello, with some further changes by me
2013-06-27Tweak wording in sequence-function docs to avoid PDF build failures.Tom Lane
Adjust the wording in the first para of "Sequence Manipulation Functions" so that neither of the link phrases in it break across line boundaries, in either A4- or US-page-size PDF output. This fixes a reported build failure for the 9.3beta2 A4 PDF docs, and future-proofs this particular para against causing similar problems in future. (Perhaps somebody will fix this issue in the SGML/TeX documentation tool chain someday, but I'm not holding my breath.) Back-patch to all supported branches, since the same problem could rise up to bite us in future updates if anyone changes anything earlier than this in func.sgml.
2013-06-26Document effect of constant folding on CASE.Noah Misch
Back-patch to all supported versions. Laurenz Albe
2013-06-24Reverting previous commit, pending investigationSimon Riggs
of sporadic seg faults from various build farm members.
2013-06-24ALTER TABLE ... ALTER CONSTRAINT for FKsSimon Riggs
Allow constraint attributes to be altered, so the default setting of NOT DEFERRABLE can be altered to DEFERRABLE and back. Review by Abhijit Menon-Sen
2013-06-21doc: Fix date in EPUB manifestPeter Eisentraut
If there is no <date> element, the publication date for the EPUB manifest is taken from the copyright year. But something like "1996-2013" is not a legal date specification. So the EPUB output currently fails epubcheck. Put in a separate <date> element with the current year. Put it in legal.sgml, because copyright.pl already instructs to update that manually, so it hopefully won't be missed.
2013-06-20Clarify terminology standalone backend vs. single-user modePeter Eisentraut
Most of the documentation uses "single-user mode", so use that in the code as well. Adjust the documentation to match the new error message wording. Also add a documentation index entry for "single-user mode". Based-on-patch-by: Jeff Janes <jeff.janes@gmail.com>
2013-06-19Further update CREATE FUNCTION documentation about argument namesPeter Eisentraut
More languages than SQL and PL/pgSQL actually support parameter names.
2013-06-20Support TB (terabyte) memory unit in GUC variables.Fujii Masao
Patch by Simon Riggs, reviewed by Jeff Janes and me.
2013-06-18Fix docs on lock level for ALTER TABLE VALIDATESimon Riggs
ALTER TABLE .. VALIDATE CONSTRAINT previously gave incorrect details about lock levels and therefore incomplete reasons to use the option. Initial bug report and fix from Marko Tiikkaja Reworded by me to include comments by Kevin Grittner
2013-06-16Fix description of archive format which pg_restore -j supports.Fujii Masao
2013-06-14Add :client_id automatic variable for custom pgbench scripts.Heikki Linnakangas
This makes it easier to write custom scripts that have different logic for each client. Gurjeet Singh, with some changes by me.
2013-06-12Improve updatability checking for views and foreign tables.Tom Lane
Extend the FDW API (which we already changed for 9.3) so that an FDW can report whether specific foreign tables are insertable/updatable/deletable. The default assumption continues to be that they're updatable if the relevant executor callback function is supplied by the FDW, but finer granularity is now possible. As a test case, add an "updatable" option to contrib/postgres_fdw. This patch also fixes the information_schema views, which previously did not think that foreign tables were ever updatable, and fixes view_is_auto_updatable() so that a view on a foreign table can be auto-updatable. initdb forced due to changes in information_schema views and the functions they rely on. This is a bit unfortunate to do post-beta1, but if we don't change this now then we'll have another API break for FDWs when we do change it. Dean Rasheed, somewhat editorialized on by Tom Lane
2013-06-12Fix unescaping of JSON Unicode escapes, especially for non-UTF8.Andrew Dunstan
Per discussion on -hackers. We treat Unicode escapes when unescaping them similarly to the way we treat them in PostgreSQL string literals. Escapes in the ASCII range are always accepted, no matter what the database encoding. Escapes for higher code points are only processed in UTF8 databases, and attempts to process them in other databases will result in an error. \u0000 is never unescaped, since it would result in an impermissible null byte.
2013-06-12Improve description of loread/lowrite.Robert Haas
Patch by me, reviewed by Tatsuo Ishii.