aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
...
* Fix small overestimation of base64 encoding output length.Tom Lane2023-06-08
| | | | | | | | | | | | | | | | pg_base64_enc_len() and its clones overestimated the output length by up to 2 bytes, as a result of sloppy thinking about where to divide. No callers require a precise estimate, so this has no consequences worse than palloc'ing a byte or two more than necessary. We might as well get it right though. This bug is very ancient, dating to commit 79d78bb26 which added encode.c. (The other instances were presumably copied from there.) Still, it doesn't quite seem worth back-patching. Oleg Tselebrovskiy Discussion: https://postgr.es/m/f94da55286a63022150bc266afdab754@postgrespro.ru
* doc: Fix example command for ALTER FOREIGN TABLE ... OPTIONS.Fujii Masao2023-06-08
| | | | | | | | | | | | | | | In the documentation, previously the example command for ALTER FOREIGN TABLE ... OPTIONS incorrectly included both the option name and value with the DROP operation. The correct syntax for the DROP operation requires only the name of the option to be specified. This commit fixes the example by removing the option value from the DROP operation. Back-patch to all supported versions. Author: Mehmet Emin KARAKAS <emin100@gmail.com> Reviewed-by: Fujii Masao Discussion: https://postgr.es/m/CANQrdXAHzbcEYhjGoe5A42OmfvdQhHFJzyKj9gJvHuDKyOF5Ng@mail.gmail.com
* Don't use _BitScanForward64/_BitScanReverse64 on 32-bit MSVC buildsDavid Rowley2023-06-08
| | | | | | | | | | | | | | 677319746 added support for making use of MSVC's bit scanning functions. However, that commit failed to consider 32-bit MSVC builds where the 64-bit versions of these functions are unavailable. This resulted in compilation failures on 32-bit MSVC. Here we adjust the code so we fall back on the manual way of finding the bit positions for 64-bit integers when building on 32-bit MSVC. Bug: #17967 Reported-by: Youmiu Mo Discussion: https://postgr.es/m/17967-cd21e34a314141b2@postgresql.org
* Use per-tuple context in ExecGetAllUpdatedColsTomas Vondra2023-06-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | Commit fc22b6623b (generated columns) replaced ExecGetUpdatedCols() with ExecGetAllUpdatedCols() in a couple places handling UPDATE (triggers and lock mode). However, ExecGetUpdatedCols() did exec_rt_fetch() while ExecGetAllUpdatedCols() also allocates memory through bms_union() without paying attention to the memory context and happened to use the long-lived ExecutorState, leaking the memory until the end of the query. The amount of leaked memory is proportional to the number of (updated) attributes, types of UPDATE triggers, and the number of processed rows (which for UPDATE ... FROM ... may be much higher than updated rows). Fixed by switching to the per-tuple context in GetAllUpdatedColumns(). This is fine for all in-core callers, but external callers may need to copy the result. But we're not aware of any such callers. Note the issue was introduced by fc22b6623b, but the macros were later renamed by f50e888990. Backpatch to 12, where the issue was introduced. Reported-by: Tomas Vondra Reviewed-by: Andres Freund, Tom Lane, Jakub Wartak Backpatch-through: 12 Discussion: https://postgr.es/m/222a3442-7f7d-246c-ed9b-a76209d19239@enterprisedb.com
* doc: Fix confusing positioning of notes in connection settingsPeter Eisentraut2023-06-07
| | | | | | Reported-by: Jonathan S. Katz <jkatz@postgresql.org> Reviewed-by: Daniel Gustafsson <daniel@yesql.se> Discussion: https://www.postgresql.org/message-id/flat/6f825d42-a1ce-492a-2ea7-c83e6e65fa8b%40postgresql.org
* Remove read-only server settings lc_collate and lc_ctypePeter Eisentraut2023-06-07
| | | | | | | | | | | | | | The GUC settings lc_collate and lc_ctype are from a time when those locale settings were cluster-global. When those locale settings were made per-database (PG 8.4), the settings were kept as read-only. As of PG 15, you can use ICU as the per-database locale provider, so examining these settings is already less meaningful and possibly confusing, since you need to look into pg_database to find out what is really happening, and they would likely become fully obsolete in the future anyway. Reviewed-by: Jeff Davis <pgsql@j-davis.com> Discussion: https://www.postgresql.org/message-id/696054d1-bc88-b6ab-129a-18b8bce6a6f0@enterprisedb.com
* Reload configuration more frequently in apply worker.Amit Kapila2023-06-07
| | | | | | | | | | | | | | | | The apply worker was not reloading the configuration while processing messages if there is a continuous flow of messages from upstream. It was also not reloading the configuration if there is a change in the configuration after it has waited for the message and before receiving the new replication message. This can lead to failure in tests because we expect that after reload, the behavior of apply worker to respect the changed GUCs. We found this while analyzing a rare buildfarm failure. Author: Hou Zhijie Reviewed-by: Amit Kapila Discussion: https://postgr.es/m/OS0PR01MB5716AF9079CC0755CD015322947E9@OS0PR01MB5716.jpnprd01.prod.outlook.com
* Initialize 'recordXtime' to silence compiler warning.Heikki Linnakangas2023-06-06
| | | | | | | | | | In reality, recordXtime will always be set by the getRecordTimestamp call, but the compiler doesn't necessarily see that. Back-patch to all supported versions. Author: Tristan Partin Discussion: https://www.postgresql.org/message-id/CT5MN8E11U0M.1NYNCHXYUHY41@gonk
* doc: PG 16 relnotes, fix PREPARE/EXECUTE wordingBruce Momjian2023-06-05
| | | | | | Reported-by: Erik Rijkers Discussion: https://postgr.es/m/73f361d0-237e-3413-224b-86ab6b71a3dd@xs4all.nl
* Remove obsolete commentPeter Eisentraut2023-06-05
| | | | OIDs are no longer system columns, since 578b229718.
* Doc: unify use of timestamp with time zone vs timestamptzDavid Rowley2023-06-05
| | | | | | | | | | For pg_stat_all_tables, last_vacuum, last_autovacuum and co all used the full "timestamp with time zone" type name. For consistency, make the newly added "last_seq_scan" also use the full type name instead of "timestamptz". Author: Noriyoshi Shinoda Discussion: https://postgr.es/m/DM4PR84MB17348EA11FA90A9BE896AF89EE489%40DM4PR84MB1734.NAMPRD84.PROD.OUTLOOK.COM
* Doc: explain about dependency tracking for new-style SQL functions.Tom Lane2023-06-04
| | | | | | | | | | 5.14 Dependency Tracking was not updated when we added new-style SQL functions. Improve that. Noted by Sami Imseih. Back-patch to v14 where new-style SQL functions came in. Discussion: https://postgr.es/m/2C1933AB-C2F8-499B-9D18-4AC1882256A0@amazon.com
* Fix pg_dump's failure to honor dependencies of SQL functions.Tom Lane2023-06-04
| | | | | | | | | | | | | | | | | | | A new-style SQL function can contain a parse-time dependency on a unique index, much as views and matviews can (such cases arise from GROUP BY and ON CONFLICT clauses, for example). To dump and restore such a function successfully, pg_dump must postpone the function until after the unique index is created, which will happen in the post-data part of the dump. Therefore we have to remove the normal constraint that functions are dumped in pre-data. Add code similar to the existing logic that handles this for matviews. I added test cases for both as well, since code coverage tests showed that we weren't testing the matview logic. Per report from Sami Imseih. Back-patch to v14 where new-style SQL functions came in. Discussion: https://postgr.es/m/2C1933AB-C2F8-499B-9D18-4AC1882256A0@amazon.com
* Fix misuse of pg_log_info() for details/hints.Tom Lane2023-06-04
| | | | | | | | | | | | | | | | | Two places in pg_dump_sort.c were using pg_log_info() to add more details to a message printed with pg_log_warning(). This is bad, because at default verbosity level we would print the warning line but not the details. One should use pg_log_warning_detail() or pg_log_warning_hint() instead. Commit 9a374b77f got rid of most such abuses, but unaccountably missed these. Noted while studying a bug report from Sami Imseih. Back-patch to v15 where 9a374b77f came in. (Prior versions don't have the missing-details misbehavior, for reasons I didn't bother to track down.) Discussion: https://postgr.es/m/2C1933AB-C2F8-499B-9D18-4AC1882256A0@amazon.com
* doc: Add note to prevent server spoofing with SCRAMMichael Paquier2023-06-03
| | | | | | | | | The set of recommendations added in the documentation with this commit helps in avoiding SCRAM exchanges with untrusted servers. Author: Jacob Champion, Jonathan Katz Reviewed-by: Stephen Frost, Daniel Gustafsson, Michael Paquier Discussion: https://postgr.es/m/CAAWbhmg5Gh0JetNbQi7z0yOsdsN9YECv8GoY-QBGBBiip9+JOw@mail.gmail.com
* doc: PG 16 relnotes, add psql \df+ source code changeBruce Momjian2023-06-01
| | | | | | Reported-by: bzm@2bz.de Discussion: https://postgr.es/m/17957-e1db8b1c15af444a@postgresql.org
* doc: add missing "the" in LATERAL sentence.Bruce Momjian2023-06-01
| | | | Backpatch-through: 11
* doc: PG 16 relnotes, move memory item and reword OUTER itemBruce Momjian2023-05-31
| | | | | | Reported-by: David Rowley Discussion: https://postgr.es/m/CAApHDvqmqxcX2n9NwvsfnsN0be6DjmyLSjz3Jk2DaZO5OLW+pw@mail.gmail.com
* doc: PG 16 relnotes, add memory overhead reduction itemBruce Momjian2023-05-30
| | | | | | Reported-by: David Rowley Discussion: https://postgr.es/m/CAApHDvqnUoyrJxS4uqnKo87b3_cUjaDDte4NQag49YHu1oEOgA@mail.gmail.com
* doc: PG 16 relnotes, adjust subscription origin mentionBruce Momjian2023-05-30
| | | | | | Reported-by: Masahiko Sawada Discussion: https://postgr.es/m/CAD21AoC+VihMWs3-xVB3Z=8LzLbsQc52TO29o25rzfqcnJDCUQ@mail.gmail.com
* doc: PG 16 relnotes, adjust auto_explain logging itemBruce Momjian2023-05-30
| | | | | | Reported-by: Dagfinn Ilmari Mannsåker Discussion: https://postgr.es/m/878rdctb7o.fsf@wibble.ilmari.org
* doc: Add missing backend_type to pg_stat_activityDaniel Gustafsson2023-05-30
| | | | | | | | | Commit 0c679464a8 added the missing backendDesc for B_STANDALONE_BACKEND but missed updating the list of backend types in the documentation. Fix by adding it to the list. Author: Noriyoshi Shinoda <noriyoshi.shinoda@hpe.com> Discussion: https://postgr.es/m/DM4PR84MB1734ECEA02BCB59564E8FC03EE4A9@DM4PR84MB1734.NAMPRD84.PROD.OUTLOOK.COM
* doc: PG 16 relnotes: adjust outer/full hash join parallelizationBruce Momjian2023-05-29
| | | | | | Reported-by: David Rowley Discussion: https://postgr.es/m/CAApHDvph4djrP+zjOK67VcgbB_p9Zn8QoO7Qctt4oQgUC_ejEw@mail.gmail.com
* doc: PG 16 relnotes, fix duplicate author and commitBruce Momjian2023-05-29
| | | | | | Reported-by: Masahiko Sawada Discussion: https://postgr.es/m/CAD21AoALE_joh=H-j5sdaAfDs=BXtCy6BQKYZBTi=neU8k0VFw@mail.gmail.com
* doc: PG 16 relnotes, fix "locale" typo and windows locale textBruce Momjian2023-05-27
| | | | | | Reported-by: Laurenz Albe, Álvaro Herrera Discussion: https://postgr.es/m/70a09a9fa557b632f4b1505395aaa6c4cb77b55a.camel@cybertec.at
* ICU: use uloc_getDefault() for initdb.Jeff Davis2023-05-26
| | | | | | | | Simpler, and better preserves the locale name as read from the environment. Author: Daniel Verite Discussion: https://postgr.es/m/a6204a46-c077-451b-8f9d-8965d95bb57c@manitou-mail.org
* Fix joinclause removal logic to cope with cloned clauses.Tom Lane2023-05-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | When we're deleting a no-op LEFT JOIN from the query, we must remove the join's joinclauses from surviving relations' joininfo lists. The invention of "cloned" clauses in 2489d76c4 broke the logic for that; it'd fail to remove clones that include OJ relids outside the doomed join's min relid sets, which could happen if that join was previously discovered to commute with some other join. This accidentally failed to cause problems in the majority of cases, because we'd never decide that such a cloned clause was evaluatable at any surviving join. However, Richard Guo discovered a case where that did happen, leading to "no relation entry for relid" errors later. Also, adding assertions that a non-removed clause contains no Vars from the doomed join exposes that there are quite a few existing regression test cases where the problem happens but is accidentally not exposed. The fix for this is just to include the target join's commute_above_r and commute_below_l sets in the relid set we test against when deciding whether a join clause is "pushed down" and thus not removable. While at it, do a little refactoring: the join's relid set can be computed inside remove_rel_from_query rather than in the caller. Patch by me; thanks to Richard Guo for review. Discussion: https://postgr.es/m/CAMbWs4_PHrRqTKDNnTRsxxQy6BtYCVKsgXm1_gdN2yQ=kmcO5g@mail.gmail.com
* Doc fixes for commit 1e16af8ab5.Jeff Davis2023-05-25
| | | | Discussion: https://postgr.es/m/275c47ea-e7f3-e654-c99a-63bc116997d7@enterprisedb.com
* nbtree VACUUM: cope with right sibling link corruption.Peter Geoghegan2023-05-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Avoid "right sibling's left-link doesn't match" errors when vacuuming a corrupt nbtree index. Just LOG the issue and press on. That way VACUUM will have a decent chance of finishing off all required processing for the index (and for the table as a whole). This error was seen in the field from time to time (it's more than a theoretical risk), so giving VACUUM the ability to press on like this has real value. Nothing short of a REINDEX is expected to fix the underlying index corruption, so giving up (by throwing an error) risks making a bad situation far worse. Anything that blocks forward progress by VACUUM like this might go unnoticed for a long time. This could eventually lead to a wraparound/xidStopLimit outage. Note that _bt_unlink_halfdead_page() has always been able to bail on page deletion when the target page's left sibling page was in an inconsistent state. It now does the same thing (returns false to back out of the second phase of deletion) when it notices sibling link corruption in the target page's right sibling page. This is similar to the work from commit 5b861baa (later backpatched as commit 43e409ce), which taught nbtree to press on with vacuuming an index when page deletion fails to "re-find" a downlink in the target page's parent page. The "re-find" check seems to make VACUUM bail on page deletion more often in practice, but there is no reason to take any chances here. Author: Peter Geoghegan <pg@bowt.ie> Reviewed-By: Heikki Linnakangas <hlinnaka@iki.fi> Discussion: https://postgr.es/m/CAH2-Wzko2q2kP1+UvgJyP9g0mF4hopK0NtQZcxwvMv9_ytGhkQ@mail.gmail.com Backpatch: 11- (all supported versions).
* Fix filtering of "cloned" outer-join quals some more.Tom Lane2023-05-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | We've had multiple issues with the clause_is_computable_at logic that I introduced in 2489d76c4: it's been known to accept more than one clone of the same qual at the same plan node, and also to accept no clones at all. It's looking impractical to get it 100% right on the basis of the currently-stored information, so fix it by introducing a new RestrictInfo field "incompatible_relids" that explicitly shows which outer joins a given clone mustn't be pushed above. In principle we could populate this field in every RestrictInfo, but that would cost space and there doesn't presently seem to be a need for it in general. Also, while deconstruct_distribute_oj_quals can easily fill the field with the remaining members of the commutative join set that it's considering, computing it in the general case seems again pretty complicated. So for now, just fill it for clone quals. Along the way, fix a bug that may or may not be only latent: equivclass.c was generating replacement clauses with is_pushed_down and has_clone/is_clone markings that didn't match their required_relids. This led me to conclude that leaving the clone flags out of make_restrictinfo's purview wasn't such a great idea after all, so add them. Per report from Richard Guo. Discussion: https://postgr.es/m/CAMbWs48EYi_9-pSd0ORes1kTmTeAjT4Q3gu49hJtYCbSn2JyeA@mail.gmail.com
* doc: fix typo in language tag documentationDaniel Gustafsson2023-05-25
| | | | Commit 1e16af8ab5 accidentally mistyped 'language' in one place.
* doc: Fix example query for pg_walinspectDaniel Gustafsson2023-05-25
| | | | | | | | | The LIMIT clause had ended up in the wrong place in the query. Backpatch to v15 where pg_walinspect was introduced. Reported-by: Jian He <jian.universality@gmail.com> Discussion: https://postgr.es/m/CACJufxHqXDr4NnmwmR6pEiVPAg54J0dgwMuYQzrH5BX6+NtF1g@mail.gmail.com Backpatch-through: 15
* Fix pgbench in prepared mode with an empty pipelineAlvaro Herrera2023-05-25
| | | | | | | | It crashes because it references memory that's not allocated in that particular case. Fix by allocating it. Reported-by: Alexander Lakhin <exclusion@gmail.com> Discussion: https://postgr.es/m/bcf802a6-afc1-95b9-7bf4-c5dd868ec144@gmail.com
* Fix typo in TAP tests of vacuumdbMichael Paquier2023-05-25
| | | | Noticed while scanning the area, introduced in 582edc3.
* doc: PG 16 relnotes, add author from previous mergeBruce Momjian2023-05-24
| | | | | | Reported-by: John Naylor Discussion: https://postgr.es/m/CAFBsxsEMoNdg6CCMuQ-6YJ8G=AgGNMVuiTb5Di5bsoPfBb=9CA@mail.gmail.com
* doc: PG 16 relnotes, wording adjustmentsBruce Momjian2023-05-24
| | | | | | Reported-by: Erik Rijkers Discussion: https://postgr.es/m/c4a88acf-ab1a-a912-d4a9-5e19b323c5ed@xs4all.nl
* doc: PG 16 relnotes, merge and move vector itemsBruce Momjian2023-05-24
| | | | | | Reported-by: John Naylor Discussion: https://postgr.es/m/CAFBsxsEPg8L2MmGqavc8JByC=WF_Mnkhn-KKnFPkcqh0hydung@mail.gmail.com
* doc: PG 16 relnotes, update xid/subxid searches itemBruce Momjian2023-05-24
| | | | | | Reported-by: John Naylor Discussion: https://postgr.es/m/CAFBsxsEPg8L2MmGqavc8JByC=WF_Mnkhn-KKnFPkcqh0hydung@mail.gmail.com
* Document deprecated createuser option.Nathan Bossart2023-05-23
| | | | | | | | | | | | 2dcd1578c4 left the --role option undocumented, which is inconsistent with other deprecated options such as pg_dump's --blobs and --no-blobs. This change adds --role back to createuser's documentation and usage output and marks it as deprecated. Suggested-by: Peter Eisentraut Reviewed-by: Michael Paquier Discussion: https://postgr.es/m/0e85c9e7-4804-1cdb-5a4a-c72c328f9ad8%40enterprisedb.com
* Doc: update src/tools/pginclude/README.Tom Lane2023-05-23
| | | | | | | | | Commit f62975b2a made headerscheck and cpluspluscheck a little smarter than this documentation gave them credit for. Make their docs match current reality. Also add a warning about the layer of dust that has settled on the rest of these scripts. Discussion: https://postgr.es/m/769950.1684797558@sss.pgh.pa.us
* Fix the install rule for snowball_create.sql.Tom Lane2023-05-23
| | | | | | | | | | | | | | | | This file could be in the current (build) directory if we just built it. However, when installing from a VPATH build from a tarball, it will exist in the source directory and gmake will therefore not rebuild it. Use the $< macro to find out where gmake found it. Oversight in b3a0d8324, which also exposes a buildfarm testing gap: we test install from VPATH builds from bare source trees, but not from tarballs. Per report from Christoph Berg. Discussion: https://postgr.es/m/ZGzEAqjxkkoY3ooH@msg.df7cb.de
* Use lower case for icu_validation_level valuesPeter Eisentraut2023-05-23
| | | | Similar to client_min_messages etc.
* Punctuation improvement in postgresql.conf.samplePeter Eisentraut2023-05-23
|
* Add newline at end of filePeter Eisentraut2023-05-23
|
* doc: PG 16 relnotes, SIMD improvementsBruce Momjian2023-05-23
| | | | | | Reported-by: John Naylor Discussion: https://postgr.es/m/CAFBsxsEuAx4_nq=200u=70S5r83C2hzO-a9+c6YXTCbOFeDAfw@mail.gmail.com
* Stamp 16beta1.REL_16_BETA1Tom Lane2023-05-22
|
* doc: PG 16 relnotes, add major features listBruce Momjian2023-05-22
| | | | | | Reported-by: Jonathan Katz Discussion: https://postgr.es/m/2fd2cc0e-df39-3e77-8fcf-35aad5796b0a@postgresql.org
* Spell the values of libpq's gssdelegation parameter as "0" and "1".Tom Lane2023-05-22
| | | | | | | | | | | | | That's how other boolean options are handled, so do likewise. The previous coding with "enable" and "disable" was seemingly modeled on gssencmode, but that's a three-way flag. While at it, add PGGSSDELEGATION to the set of environment variables cleared by pg_regress and Utils.pm. Abhijit Menon-Sen, per gripe from Alvaro Herrera Discussion: https://postgr.es/m/20230522091609.nlyuu4nolhycqs2p@alvherre.pgsql
* doc: PG 16 relnotes, improve desc. of pg_log_standby_snapshot()Bruce Momjian2023-05-22
|
* Translation updatesPeter Eisentraut2023-05-22
| | | | | Source-Git-URL: https://git.postgresql.org/git/pgtranslation/messages.git Source-Git-Hash: 642d41265b1ea68ae71a66ade5c5440ba366a890