summaryrefslogtreecommitdiff
path: root/doc
AgeCommit message (Collapse)Author
2025-05-22Revert "Don't lock partitions pruned by initial pruning"Amit Langote
As pointed out by Tom Lane, the patch introduced fragile and invasive design around plan invalidation handling when locking of prunable partitions was deferred from plancache.c to the executor. In particular, it violated assumptions about CachedPlan immutability and altered executor APIs in ways that are difficult to justify given the added complexity and overhead. This also removes the firstResultRels field added to PlannedStmt in commit 28317de72, which was intended to support deferred locking of certain ModifyTable result relations. Reported-by: Tom Lane <[email protected]> Discussion: https://postgr.es/m/[email protected]
2025-05-21doc: Move documentation of md5_password_warnings to a better placePeter Eisentraut
Commit db6a4a985bc categorized md5_password_warnings as an authentication setting, and the placement in postgresql.conf.sample matches that, but in the documentation it ended up under logging settings, which isn't unreasonable but inconsistent. This moves the documentation chunk to authentication settings as well.
2025-05-20doc: Clarify use of _ccnew and _ccold in REINDEX CONCURRENTLYMichael Paquier
Invalid indexes are suffixed with "_ccnew" or "_ccold". The documentation missed to mention the initial underscore. ChooseRelationName() may also append an extra number if indexes with a similar name already exist; let's add a note about that too. Author: Alec Cozens <[email protected]> Discussion: https://postgr.es/m/174733277404.1455388.11471370288789479593@wrigleys.postgresql.org Backpatch-through: 13
2025-05-16Align organization wording in copyright statementDaniel Gustafsson
This aligns the copyright and legal notice wordig with commit a233a603bab8 and pgweb commit 2d764dbc083ab8. Backpatch down to all supported versions. Author: Daniel Gustafsson <[email protected]> Reviewed-by: Dave Page <[email protected]> Reviewed-by: Tom Lane <[email protected]> Discussion: https://postgr.es/m/[email protected] Backpatch-through: 13
2025-05-10doc PG 18 relnotes: mv. hash joins and GROUP BY item to GeneralBruce Momjian
Reported-by: David Rowley Discussion: https://postgr.es/m/CAApHDvqJz+Zf7a6abisqoTGottDSRD+YPx=aQSgCsCKD476vGA@mail.gmail.com
2025-05-09Add support for runtime arguments in injection pointsMichael Paquier
The macros INJECTION_POINT() and INJECTION_POINT_CACHED() are extended with an optional argument that can be passed down to the callback attached when an injection point is run, giving to callbacks the possibility to manipulate a stack state given by the caller. The existing callbacks in modules injection_points and test_aio have their declarations adjusted based on that. da7226993fd4 (core AIO infrastructure) and 93bc3d75d8e1 (test_aio) and been relying on a set of workarounds where a static variable called pgaio_inj_cur_handle is used as runtime argument in the injection point callbacks used by the AIO tests, in combination with a TRY/CATCH block to reset the argument value. The infrastructure introduced in this commit will be reused for the AIO tests, simplifying them. Reviewed-by: Greg Burd <[email protected]> Discussion: https://postgr.es/m/[email protected]
2025-05-09doc PG 18 relnotes: fix missing parens for crc32c()Bruce Momjian
Reported-by: Steven Niu Discussion: https://postgr.es/m/CABBtG=ejqK58cFWpw3etVZfQfhjC-qOqV+9GQWRnLO+p9wYMbw@mail.gmail.com
2025-05-09doc: Put new options in consistent order on man pagesPeter Eisentraut
2025-05-08PG 18 relnotes: adjust RETURNING new/old itemBruce Momjian
Reported-by: jian he Discussion: https://postgr.es/m/CACJufxFM1avdwu=OrTx_uMAjTDbFOj1Gp7mnNHOofTVj9QtmRw@mail.gmail.com
2025-05-08doc: Fix title markup for AT TIME ZONE and AT LOCALDaniel Gustafsson
The title for AT TIME ZONE and AT LOCAL was accidentally wrapping the "and" in the <literal> tag. Backpatch to v17 where it was introduced in 97957fdbaa42. Author: Noboru Saito <[email protected]> Reviewed-by: Daniel Gustafsson <[email protected]> Reviewed-by: Tatsuo Ishii <[email protected]> Reviewed-by: Michael Paquier <[email protected]> Discussion: https://postgr.es/m/CAAM3qn+7QUWW9R6_YwPKXmky0xGE4n63U3EsxZeWE_QtogeU8g@mail.gmail.com Backpatch-through: 17
2025-05-08doc PG 18 relnotes: adjust pg_log_backend_memory_contexts()Bruce Momjian
Reported-by: David Rowley Discussion: https://postgr.es/m/CAApHDvrGLBqs_Vm9COMY7uBDvUDMKds7RwC20YjEPf+XRTY9XQ@mail.gmail.com
2025-05-08doc PG 18 relnotes: add pg_log_backend_memory_contexts() mentionBruce Momjian
Now zero-based. Reported-by: David Rowley Discussion: https://postgr.es/m/CAApHDvqMfTBdfwc0Z-tHXLnBMKJLYEZDApgUzA7x_PUDZsY3GA@mail.gmail.com
2025-05-07doc PG 18 relnotes: adjust pgbench per-script reporting itemBruce Momjian
Also run src/tools/add_commit_links.pl for a previous commit. Reported-by: Yugo Nagata Discussion: https://postgr.es/m/[email protected]
2025-05-07doc PG 18 relnotes: mention GROUP SET fixesBruce Momjian
Reported-by: Richard Guo Discussion: https://postgr.es/m/CAMbWs4_asKPqTCt0h9pp=zHc9vmPcnczbHeF6Xkxn1LhLapcTQ@mail.gmail.com
2025-05-07Remove pg_replication_origin's TOAST table.Nathan Bossart
A few places that access this catalog don't set up an active snapshot before potentially accessing its TOAST table. However, roname (the replication origin name) is the only varlena column, so this is only a problem if the name requires out-of-line storage. This commit removes its TOAST table to avoid needing to set up a snapshot. It also places a limit on replication origin names so that attempts to set long names will fail with a more user-friendly error. Those chosen limit of 512 bytes should be sufficient to avoid "row is too big" errors independent of BLCKSZ, but it should also be lenient enough for all reasonable use-cases. Bumps catversion. Reviewed-by: Michael Paquier <[email protected]> Reviewed-by: Amit Kapila <[email protected]> Reviewed-by: Euler Taveira <[email protected]> Reviewed-by: Nisha Moond <[email protected]> Reviewed-by: Tom Lane <[email protected]> Discussion: https://postgr.es/m/ZvMSUPOqUU-VNADN%40nathan
2025-05-07pg_dumpall: Add --sequence-data.Nathan Bossart
I recently added this option to pg_dump, but I forgot to add it to pg_dumpall, too. There's probably little use for it at the moment, but we will need it if/when we teach pg_upgrade to use pg_dumpall to dump the database schemas. Oversight in commit 9c49f0e8cd. Reviewed-by: Michael Paquier <[email protected]> Discussion: https://postgr.es/m/aBE8rHFo922xQUwh%40nathan
2025-05-07doc: Put some psql documentation pieces back into alphabetical orderPeter Eisentraut
2025-05-07doc: Add link to tablePeter Eisentraut
Formal tables should generally have an xref in the text that points to them. Add them here.
2025-05-07doc: Fix up spacing around verbatim DocBook elementsPeter Eisentraut
2025-05-07doc PG 18 relnotes: adjust partition planning itemBruce Momjian
Reported-by: David Rowley Discussion: https://postgr.es/m/CAApHDvqgK7uqPZAwxsfBiFhvBHHB0txaUxhUrdwG4d5Mik_RnA@mail.gmail.com
2025-05-06doc PG 18 relnotes: small adjustments regarding optionsBruce Momjian
Reported-by: jian he Discussion: https://postgr.es/m/CACJufxH1jo=hv77AK0HUJYBBMuPmr6+JT+8g-yovuJmHUPGOZQ@mail.gmail.com
2025-05-06doc PG 18 relnotes: move partition locking item to General PerfBruce Momjian
Reported-by: Amit Langote Discussion: https://postgr.es/m/CA+HiwqE+8Pui_NCCC7zgacnet0Cf3tc_vU+P=nhLDES-8xuCUw@mail.gmail.com
2025-05-06doc PG 18 relnotes: adjust partition itemsBruce Momjian
Reported-by: David Rowley Discussion: https://postgr.es/m/CAApHDvo+BrVTXMBPjNXBTnAovJWN9+-dYc0kN7rSDqdNvpggZQ@mail.gmail.com
2025-05-05doc PG 18 relnotes: reword OAuth itemBruce Momjian
Reported-by: Jacob Champion Discussion: https://postgr.es/m/CAOYmi+mEQOqBSJas5V5t__b+6h_MLxyy3JFrVJEq638fnNxi0A@mail.gmail.com
2025-05-05doc PG 18 relnotes: add mention of pg_stat_reset_backend_stats()Bruce Momjian
This is for WAL statistics. Reported-by: Bertrand Drouvot Discussion: https://postgr.es/m/[email protected]
2025-05-05doc PG 18 relnotes: adjust hash itemBruce Momjian
Reported-by: David Rowley Discussion: https://postgr.es/m/CAApHDvrNmGncNgZMh2oBG5K-+4d1LGJgzrz7180OcHRT1VFojw@mail.gmail.com
2025-05-05doc PG 18 relnotes: split partition optimizer item into twoBruce Momjian
Reported-by: David Rowley Discussion: https://postgr.es/m/CAApHDvohfoJ0D9eiUuVyHU_kq2Y7A_jAjWVsUt0Fm7Gw1Q=1cQ@mail.gmail.com
2025-05-05doc PG 18 relnotes: adjust COPY and REJECT_LIMIT itemsBruce Momjian
Reported-by: Atsushi Torikoshi Discussion: https://postgr.es/m/CAM6-o=CEF6tKAjtGMEOd45YySwNRXPu8d_zyYq=fhnia9hOU6Q@mail.gmail.com
2025-05-05doc PG 18 relnotes: move and clarify constraint itemsBruce Momjian
Reported-by: Álvaro Herrera Discussion: https://postgr.es/m/[email protected]
2025-05-05doc PG 18 relnotes: add commit for cancel key and protocol neg.Bruce Momjian
Reported-by: Jelte Fennema-Nio Discussion: https://postgr.es/m/CAGECzQQehQrhkNNXvLiBgE3odBbTPG=9PzV8F4Oqq3kOorK0Sw@mail.gmail.com
2025-05-03doc PG 18 relnotes: fix libpq wordingBruce Momjian
Reported-by: Jelte Fennema-Nio Discussion: https://postgr.es/m/CAGECzQT4804OLOP+nDBxDpMw3Soq=g+fKOE7NryBHggy4GgEcg@mail.gmail.com
2025-05-03doc: update guidelines on non-ASCII characters in docsBruce Momjian
2025-05-03doc PG 18 relnotes: add GROUP BY column elimination itemBruce Momjian
With a nod to PG 9.6. Reported-by: jian he Discussion: https://postgr.es/m/CACJufxEqs=EXZETwtaOooTFhZrtxvSWg8M2uPfzjNtS3wQ6Dzw@mail.gmail.com
2025-05-03doc PG 18 relnotes: move protocol version item to "server"Bruce Momjian
Reported-by: Jelte Fennema-Nio Discussion: https://postgr.es/m/CAGECzQSTBgTsDJPxOHWKo7106-YnnYQGzpzNJdis+xTKGUhu2g@mail.gmail.com
2025-05-03doc PG 18 relnotes: update chapter tags for recent commitBruce Momjian
2025-05-03doc PG 18 relnotes: adjust libpq trace & potocol version itemsBruce Momjian
Reported-by: Jelte Fennema-Nio Discussion: https://postgr.es/m/CAGECzQQj0r_JX38fa-_kepp9UaMzCcujRAYaJG2+fPks1b8MVg@mail.gmail.com
2025-05-02doc PG 18 relnotes: reword and reorder itemsBruce Momjian
Also move ssl_groups to a more appropriate section. Reported-by: Jacob Champion (ssl_groups item) Discussion: https://postgr.es/m/CAOYmi+k_zpGaDOrwV46_j-O-a_hSWxcXM6h8vccq45Y28deP-g@mail.gmail.com
2025-05-02Doc: correct spelling of meson switch.Tom Lane
It's --auto-features not --auto_features. Reported-by: Egor Chindyaskin <[email protected]> Discussion: https://postgr.es/m/[email protected] Discussion: https://postgr.es/m/[email protected] Backpatch-through: 16
2025-05-02Make "directory" setting work with extension_control_pathPeter Eisentraut
The extension_control_path setting (commit 4f7f7b03758) did not support extensions that set a custom "directory" setting in their control file. Very few extensions use that and during the discussion on the previous commit it was suggested to maybe remove that functionality. But a fix was easier than initially thought, so this just adds that support. The fix is to use the control->control_dir as a share dir to return the path of the extension script files. To make this work more sensibly overall, the directory suffix "extension" is no longer to be included in the extension_control_path value. To quote the patch, it would be -extension_control_path = '/usr/local/share/postgresql/extension:/home/my_project/share/extension:$system' +extension_control_path = '/usr/local/share/postgresql:/home/my_project/share:$system' During the initial patch, there was some discussion on which of these two approaches would be better, and the committed patch was a 50/50 decision. But the support for the "directory" setting pushed it the other way, and also it seems like many people didn't like the previous behavior much. Author: Matheus Alcantara <[email protected]> Reviewed-by: Christoph Berg <[email protected]> Reviewed-by: David E. Wheeler <[email protected]> Discussion: https://www.postgresql.org/message-id/flat/aAi1VACxhjMhjFnb%40msg.df7cb.de#0cdf7b7d727cc593b029650daa3c4fbc
2025-05-02doc: first draft of the PG 18 release notesBruce Momjian
2025-05-01Doc: stop implying recommendation of insecure search_path value.Noah Misch
SQL "SET search_path = 'pg_catalog, pg_temp'" is silently equivalent to "SET search_path = pg_temp, pg_catalog, "pg_catalog, pg_temp"" instead of the intended "SET search_path = pg_catalog, pg_temp". (The intent was a two-element search path. With the single quotes, it instead specifies one element with a comma and a space in the middle of the element.) In addition to the SET statement, this affects SET clauses of CREATE FUNCTION, ALTER ROLE, and ALTER DATABASE. It does not affect the set_config() SQL function. Though the documentation did not show an insecure command, remove single quotes that could entice a reader to write an insecure command. Back-patch to v13 (all supported versions). Reported-by: Sven Klemm <[email protected]> Author: Sven Klemm <[email protected]> Backpatch-through: 13
2025-05-01doc: Flesh out extension docs for the "prefix" make variablePeter Eisentraut
The variable is a bit magical in how it requires "postgresql" or "pgsql" to be part of the path, and files end up in its "share" and "lib" subdirectories. So mention all that and show an example of setting "extension_control_path" and "dynamic_library_path" to use those locations. Author: David E. Wheeler <[email protected]> Reviewed-by: Matheus Alcantara <[email protected]> Reviewed-by: Christoph Berg <[email protected]> Discussion: https://www.postgresql.org/message-id/[email protected]
2025-05-01oauth: Move the builtin flow into a separate moduleJacob Champion
The additional packaging footprint of the OAuth Curl dependency, as well as the existence of libcurl in the address space even if OAuth isn't ever used by a client, has raised some concerns. Split off this dependency into a separate loadable module called libpq-oauth. When configured using --with-libcurl, libpq.so searches for this new module via dlopen(). End users may choose not to install the libpq-oauth module, in which case the default flow is disabled. For static applications using libpq.a, the libpq-oauth staticlib is a mandatory link-time dependency for --with-libcurl builds. libpq.pc has been updated accordingly. The default flow relies on some libpq internals. Some of these can be safely duplicated (such as the SIGPIPE handlers), but others need to be shared between libpq and libpq-oauth for thread-safety. To avoid exporting these internals to all libpq clients forever, these dependencies are instead injected from the libpq side via an initialization function. This also lets libpq communicate the offsets of PGconn struct members to libpq-oauth, so that we can function without crashing if the module on the search path came from a different build of Postgres. (A minor-version upgrade could swap the libpq-oauth module out from under a long-running libpq client before it does its first load of the OAuth flow.) This ABI is considered "private". The module has no SONAME or version symlinks, and it's named libpq-oauth-<major>.so to avoid mixing and matching across Postgres versions. (Future improvements may promote this "OAuth flow plugin" to a first-class concept, at which point we would need a public API to replace this anyway.) Additionally, NLS support for error messages in b3f0be788a was incomplete, because the new error macros weren't being scanned by xgettext. Fix that now. Per request from Tom Lane and Bruce Momjian. Based on an initial patch by Daniel Gustafsson, who also contributed docs changes. The "bare" dlopen() concept came from Thomas Munro. Many people reviewed the design and implementation; thank you! Co-authored-by: Daniel Gustafsson <[email protected]> Reviewed-by: Andres Freund <[email protected]> Reviewed-by: Christoph Berg <[email protected]> Reviewed-by: Daniel Gustafsson <[email protected]> Reviewed-by: Jelte Fennema-Nio <[email protected]> Reviewed-by: Peter Eisentraut <[email protected]> Reviewed-by: Wolfgang Walther <[email protected]> Discussion: https://postgr.es/m/641687.1742360249%40sss.pgh.pa.us
2025-05-01Remove extra "not" in pg_upgrade documentation.Nathan Bossart
Oversight in commit cb45dc3afb. Reported-by: Erik Rijkers <[email protected]> Reviewed-by: Fujii Masao <[email protected]> Discussion: https://postgr.es/m/7b856277-62ad-80f0-36e1-a134ec3c9cab%40xs4all.nl
2025-05-01doc: Warn that ts_headline() output is not HTML-safe.Dean Rasheed
Add a documentation warning to ts_headline() pointing out that, when working with untrusted input documents, the output is not guaranteed to be safe for direct inclusion in web pages. This is because, while it does remove some XML tags from the input, it doesn't remove all HTML markup, and so the result may be unsafe (e.g., it might permit XSS attacks). To guard against that, all HTML markup should be removed from the input, making it plain text, or the output should be passed through an HTML sanitizer. In addition, document precisely what the default text search parser recognises as valid XML tags, since that's what determines which XML tags ts_headline() will remove. Reported-by: Richard Neill <[email protected]> Author: Dean Rasheed <[email protected]> Reviewed-by: Noah Misch <[email protected]> Backpatch-through: 13
2025-05-01doc: Improve explanations when a table rewrite is neededPeter Eisentraut
Further improvement for commit 11bd8318602. That commit confused identity and generated columns; fix that. Also, virtual generated columns have since been added; add more details about that. Also some small rewordings and reformattings to further improve clarity. Reviewed-by: Robert Treat <[email protected]> Discussion: https://postgr.es/m/[email protected]
2025-04-30doc: Mention cost-based delays for total_[auto]{vacuum,analyze}_timeMichael Paquier
30a6ed0ce4b has added four attributes to pg_stat_all_tables to track the cumulative time spent in [auto]vacuum and [auto]analyze. It was not mentioned that the vacuum cost-based delays are included in these numbers, which could be confusing now that the delays are included in the vacuum progress view (bb8dff9995f2). This commit adds an extra note about this matter. Reported-by: Magnus Hagander <[email protected]> Author: Bertrand Drouvot <[email protected]> Discussion: https://postgr.es/m/CABUevEz9v1ZNToPyD98JnWDGZgG=SmPZKkSNzU9hXQ-nGTQF0g@mail.gmail.com
2025-04-30doc: Add missing reference to track_cost_delay_timing.Nathan Bossart
Oversight in commit bb8dff9995.
2025-04-30Further adjust guidance for running vacuumdb after pg_upgrade.Nathan Bossart
Since pg_upgrade does not transfer the cumulative statistics used to trigger autovacuum and autoanalyze, the server may take much longer than expected to process them post-upgrade. Currently, we recommend analyzing only relations for which optimizer statistics were not transferred by using the --analyze-in-stages and --missing-stats-only options. This commit appends another recommendation to analyze all relations to update the relevant cumulative statistics by using the --analyze-only option. This is similar to the recommendation for pg_stat_reset(). Reported-by: Christoph Berg <[email protected]> Reviewed-by: Christoph Berg <[email protected]> Discussion: https://postgr.es/m/aAfxfKC82B9NvJDj%40msg.df7cb.de
2025-04-30doc: Alphabetize long options for pg_dump[all].Nathan Bossart
The current ordering strategy for these pages is to list the short options in alphabetical order followed by the long options in alphabetical order. If an option has both a short variant and a long variant, the short variant takes precedence. This commit moves a few recently added options to match this style. We should probably adjust all pages and --help output to list the long and short options in one combined alphabetical list (with the long variants taking precedence), but that is a much larger change, so it is left as a future exercise. Oversights in commits a5cf808be5, 1fd1bd8710, and bde2fb797a. Reviewed-by: Álvaro Herrera <[email protected]> Reviewed-by: Peter Eisentraut <[email protected]> Discussion: https://postgr.es/m/aBFBtsltgu3-IU1d%40nathan