aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
...
* OpenSSL 3.0.0 compatibility in testsPeter Eisentraut2020-06-05
| | | | | | | | | | | | | | DES has been deprecated in OpenSSL 3.0.0 which makes loading keys encrypted with DES fail with "fetch failed". Solve by changing the cipher used to aes256 which has been supported since 1.0.1 (and is more realistic to use anyways). Note that the minimum supported OpenSSL version is 1.0.1 as of 7b283d0e1d1d79bf1c962d790c94d2a53f3bb38a, so this does not introduce any new version requirements. Author: Daniel Gustafsson <daniel@yesql.se> Discussion: https://www.postgresql.org/message-id/flat/FEF81714-D479-4512-839B-C769D2605F8A%40yesql.se
* Preserve pg_index.indisreplident across REINDEX CONCURRENTLYMichael Paquier2020-06-05
| | | | | | | | | | | If the flag value is lost, logical decoding would work the same way as REPLICA IDENTITY NOTHING, meaning that no old tuple values would be included in the changes anymore produced by logical decoding. Author: Michael Paquier Reviewed-by: Euler Taveira Discussion: https://postgr.es/m/20200603065340.GK89559@paquier.xyz Backpatch-through: 12
* Reject "23:59:60.nnn" in datetime input.Tom Lane2020-06-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | It's intentional that we don't allow values greater than 24 hours, while we do allow "24:00:00" as well as "23:59:60" as inputs. However, the range check was miscoded in such a way that it would accept "23:59:60.nnn" with a nonzero fraction. For time or timetz, the stored result would then be greater than "24:00:00" which would fail dump/reload, not to mention possibly confusing other operations. Fix by explicitly calculating the result and making sure it does not exceed 24 hours. (This calculation is redundant with what will happen later in tm2time or tm2timetz. Maybe someday somebody will find that annoying enough to justify refactoring to avoid the duplication; but that seems too invasive for a back-patched bug fix, and the cost is probably unmeasurable anyway.) Note that this change also rejects such input as the time portion of a timestamp(tz) value. Back-patch to v10. The bug is far older, but to change this pre-v10 we'd need to ensure that the logic behaves sanely with float timestamps, which is possibly nontrivial due to roundoff considerations. Doesn't really seem worth troubling with. Per report from Christoph Berg. Discussion: https://postgr.es/m/20200520125807.GB296739@msg.df7cb.de
* psql: Clean up terminology in \dAp commandPeter Eisentraut2020-06-04
| | | | | | The preferred terminology has been support "function", not procedure, for some time, so change that over. The command stays \dAp, since \dAf is already something else.
* Fix comment in be-secure-openssl.cMichael Paquier2020-06-04
| | | | | | | | Since 573bd08, hardcoded DH parameters have been moved to a different file, making the comment on top of load_dh_buffer() incorrect. Author: Daniel Gustafsson Discussion: https://postgr.es/m/D9492CCB-9A91-4181-A847-1779630BE2A7@yesql.se
* Fix instance of elog() called while holding a spinlockMichael Paquier2020-06-04
| | | | | | | | This broke the project rule to not call any complex code while a spinlock is held. Issue introduced by b89e151. Discussion: https://postgr.es/m/20200602.161518.1399689010416646074.horikyota.ntt@gmail.com Backpatch-through: 9.5
* Don't call palloc() while holding a spinlock, either.Tom Lane2020-06-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix some more violations of the "only straight-line code inside a spinlock" rule. These are hazardous not only because they risk holding the lock for an excessively long time, but because it's possible for palloc to throw elog(ERROR), leaving a stuck spinlock behind. copy_replication_slot() had two separate places that did pallocs while holding a spinlock. We can make the code simpler and safer by copying the whole ReplicationSlot struct into a local variable while holding the spinlock, and then referencing that copy. (While that's arguably more cycles than we really need to spend holding the lock, the struct isn't all that big, and this way seems far more maintainable than copying fields piecemeal. Anyway this is surely much cheaper than a palloc.) That bug goes back to v12. InvalidateObsoleteReplicationSlots() not only did a palloc while holding a spinlock, but for extra sloppiness then leaked the memory --- probably for the lifetime of the checkpointer process, though I didn't try to verify that. Fortunately that silliness is new in HEAD. pg_get_replication_slots() had a cosmetic violation of the rule, in that it only assumed it's safe to call namecpy() while holding a spinlock. Still, that's a hazard waiting to bite somebody, and there were some other cosmetic coding-rule violations in the same function, so clean it up. I back-patched this as far as v10; the code exists before that but it looks different, and this didn't seem important enough to adapt the patch further back. Discussion: https://postgr.es/m/20200602.161518.1399689010416646074.horikyota.ntt@gmail.com
* doc: PG 13 relnotes: fix link for grouping sets hash overflowBruce Momjian2020-06-02
| | | | | | | | | | Use "guc-enable-groupingsets-hash-disk". Reported-by: TAKATSUKA Haruka Discussion: https://postgr.es/m/16468-7939d39f1786516c@postgresql.org Backpatch-through: master
* doc: Move wal_init_zero and wal_recycle descriptions to proper section.Fujii Masao2020-06-03
| | | | | | | | | | | | | The group of wal_init_zero and wal_recycle is WAL_SETTINGS in guc.c, but previously their documents were located in "Replication"/"Sending Servers" section. This commit moves them to the proper section "Write Ahead Log"/"Settings". Back-patch to v12 where wal_init_zero and wal_recycle parameters were introduced. Author: Fujii Masao Discussion: https://postgr.es/m/b5190ab4-a169-6a42-0e49-aed0807c8976@oss.nttdata.com
* Don't call elog() while holding spinlock.Fujii Masao2020-06-02
| | | | | | | | | | | | Previously UpdateSpillStats() called elog(DEBUG2) while holding the spinlock even though the local variables that the elog() accesses don't need to be protected by the lock. Since spinlocks are intended for very short-term locks, they should not be used when calling elog(DEBUG2). So this commit moves that elog() out of spinlock period. Author: Kyotaro Horiguchi Reviewed-by: Amit Kapila and Fujii Masao Discussion: https://postgr.es/m/20200602.161518.1399689010416646074.horikyota.ntt@gmail.com
* Doc: Update the documentation for spilled transaction statistics.Amit Kapila2020-06-02
| | | | | | | Reported-by: Sawada Masahiko Author: Sawada Masahiko, Amit Kapila Reviewed-by: Amit Kapila Discussion: https://postgr.es/m/CA+fd4k4vNg7dRO5ECHdtQXXf1=Q4M98pfLW0dU7BKD8h79pkqA@mail.gmail.com
* Make ssl certificate for ssl_passphrase_callback test via MakefileAndrew Dunstan2020-06-01
| | | | | | | | | | | The recipe was previously given in comments in the module's test script, but now we have an explicit recipe in the Makefile. The now redundant comments in the script are removed. This recipe shouldn't be needed in normal use, as the certificate and key are in git and don't need to be regenerated. Discussion: https://postgr.es/m/ae8f21fc-95cb-c98a-f241-1936133f466f@2ndQuadrant.com
* Use correct and consistent unit abbreviationPeter Eisentraut2020-06-01
|
* Fix use-after-release mistake in currtid() and currtid2() for viewsMichael Paquier2020-06-01
| | | | | | | | | | This issue has been present since the introduction of this code as of a3519a2 from 2002, and has been found by buildfarm member prion that uses RELCACHE_FORCE_RELEASE via the tests introduced recently in e786be5. Discussion: https://postgr.es/m/20200601022055.GB4121@paquier.xyz Backpatch-through: 9.5
* Fix crashes with currtid() and currtid2()Michael Paquier2020-06-01
| | | | | | | | | | | | | | | | | | | | | | | A relation that has no storage initializes rd_tableam to NULL, which caused those two functions to crash because of a pointer dereference. Note that in 11 and older versions, this has always failed with a confusing error "could not open file". These two functions are used by the Postgres ODBC driver, which requires them only when connecting to a backend strictly older than 8.1. When connected to 8.2 or a newer version, the driver uses a RETURNING clause instead whose support has been added in 8.2, so it should be possible to just remove both functions in the future. This is left as an issue to address later. While on it, add more regression tests for those functions as we never really had coverage for them, and for aggregates of TIDs. Reported-by: Jaime Casanova, via sqlsmith Author: Michael Paquier Reviewed-by: Álvaro Herrera Discussion: https://postgr.es/m/CAJGNTeO93u-5APMga6WH41eTZ3Uee9f3s8dCpA-GSSqNs1b=Ug@mail.gmail.com Backpatch-through: 12
* Make install-tests target work with vpath buildsAndrew Dunstan2020-05-31
| | | | | | | | Also add a top-level install-tests target. Backpatch to all live branches. Craig Ringer, tweaked by me.
* Use CP_SMALL_TLIST for hash aggregateTomas Vondra2020-05-31
| | | | | | | | | | | | | | | | | Commit 1f39bce021 added disk-based hash aggregation, which may spill incoming tuples to disk. It however did not request projection to make the tuples as narrow as possible, which may mean having to spill much more data than necessary (increasing I/O, pushing other stuff from page cache, etc.). This adds CP_SMALL_TLIST in places that may use hash aggregation - we do that only for AGG_HASHED. It's unnecessary for AGG_SORTED, because that either uses explicit Sort (which already does projection) or pre-sorted input (which does not need spilling to disk). Author: Tomas Vondra Reviewed-by: Jeff Davis Discussion: https://postgr.es/m/20200519151202.u2p2gpiawoaznsv2%40development
* Doc: Mention about caveats of --concurrently on reindexdb pageMichael Paquier2020-05-31
| | | | | | | | | | | The documentation of REINDEX includes a complete description of CONCURRENTLY and its advantages as well as its disadvantages, but reindexdb was not really clear about all that. From discussion with Tom Lane, based on a report from Andrey Klychkov. Discussion: https://postgr.es/m/1590486572.205117372@f500.i.mail.ru Backpatch-through: 12
* doc: Update the layout of "Viewing Statistics" section.Fujii Masao2020-05-29
| | | | | | | | | | | | | | | This commit updates the "Viewing Statistics" section more like the existing catalogs chapter. - Change its layout so that an introductory paragrap is put above the table for each statistics view. Previously the explanations were below the tables. - Separate each view to different section and add index terms for them. Author: Fujii Masao Reviewed-by: Tom Lane Discussion: https://postgr.es/m/6f8a482c-b3fa-4ed9-21c3-6d222a2cb87d@oss.nttdata.com
* llvmjit: Fix building against LLVM 11 by removing unnecessary include.Andres Freund2020-05-28
| | | | | | | | | LLVM has removed this header, in the branch that will become llvm 11. But as it turns out we didn't actually need it, so just remove it. Author: Jesse Zhang <sbjesse@gmail.com> Discussion: https://postgr.es/m/CAGf+fX7bvtP0YXMu7pOsu_NwhxW6dArTkxb=jt7M2-UJkyJ_3g@mail.gmail.com Backpatch: 11, where JIT support using llvm was introduced.
* Initialize dblink remoteConn struct in all casesJoe Conway2020-05-28
| | | | | | | | | | | Two of the members of rconn were left uninitialized. When dblink_open() is called without an outer transaction it handles the initialization for us, but with an outer transaction it does not. Arrange for initialization in all cases. Backpatch to all supported versions. Reported-by: Alexander Lakhin Discussion: https://www.postgresql.org/message-id/flat/9bd0744f-5f04-c778-c5b3-809efe9c30c7%40joeconway.com#c545909a41664991aca60c4d70a10ce7
* Add CHECK_FOR_INTERRUPTS() to the repeat() functionJoe Conway2020-05-28
| | | | | | | | | | | The repeat() function loops for potentially a long time without ever checking for interrupts. This prevents, for example, a query cancel from interrupting until the work is all done. Fix by inserting a CHECK_FOR_INTERRUPTS() into the loop. Backpatch to all supported versions. Discussion: https://www.postgresql.org/message-id/flat/8692553c-7fe8-17d9-cbc1-7cddb758f4c6%40joeconway.com
* Add missing error code to "cannot attach index ..." error.Heikki Linnakangas2020-05-28
| | | | | | | | ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE was used in an ereport with the same message but different errdetail a few lines earlier, so use that here as well. Backpatch-through: 11
* Fix typo in test comment.Heikki Linnakangas2020-05-28
| | | | | The same comment was copied to a few different places, with the same typo. Backpatch down to v11, where this typo was introduced.
* Fix some comments in xlogreader.hMichael Paquier2020-05-28
| | | | | | segment_open and segment_close were mentioned with incorrect names. Discussion: https://postgr.es/m/20200525234944.GA1573@paquier.xyz
* Fix some mentions to memory units in postgresql.conf.sampleMichael Paquier2020-05-28
| | | | | | | | | The default unit for max_slot_wal_keep_size is megabytes. While on it, also change temp_file_limit to use a more consistent wording. Reported-by: Jeff Janes, Fujii Masao Author: Kyotaro Horiguchi Discussion: https://postgr.es/m/CAMkU=1wWZhhjpwRFKJ9waQGxxROeC0P6UqPvb90fAaGz7dhoHA@mail.gmail.com
* Remove some tabs in SQL code in C string literalsPeter Eisentraut2020-05-27
| | | | | This is not handled uniformly throughout the code, but at least nearby code can be consistent.
* Avoid fragmentation of logical tapes when writing concurrently.Jeff Davis2020-05-26
| | | | | | | | | | Disk-based HashAgg relies on writing to multiple tapes concurrently. Avoid fragmentation of the tapes' blocks by preallocating many blocks for a tape at once. No file operations are performed during preallocation; only the block numbers are reserved. Reviewed-by: Tomas Vondra Discussion: https://postgr.es/m/20200519151202.u2p2gpiawoaznsv2%40development
* Message wording tweaksPeter Eisentraut2020-05-26
| | | | | Make the wording of new libpq messages more similar to existing messages in the backend.
* Add lcov exclusion markers to jsonpath scannerPeter Eisentraut2020-05-26
| | | | | This was done for all scanners in 421167362242ce1fb46d6d720798787e7cd65aad but not added to the new one.
* doc: PG 13 relnotes: update bool_plperl itemBruce Momjian2020-05-25
| | | | | | | | Reported-by: Daniel Gustafsson Discussion: https://postgr.es/m/54F7560D-498A-4E51-BAA4-17D4AAB2AA57@yesql.se Backpatch-through: master
* gss: add missing references to hostgssenc and hostnogssencBruce Momjian2020-05-25
| | | | | | | | | | | | | These were missed when these were added to pg_hba.conf in PG 12; updates docs and pg_hba.conf.sample. Reported-by: Arthur Nascimento Bug: 16380 Discussion: https://postgr.es/m/20200421182736.GG19613@momjian.us Backpatch-through: 12
* Reconcile nodes/*funcs.c.Noah Misch2020-05-25
| | | | | The stmt_len changes do not affect behavior. LimitPath has no other support functions, so that part changes only debugging output.
* Add a temp-install prerequisite to top-level "check-tests".Noah Misch2020-05-25
| | | | | | The target failed, tested $PATH binaries, or tested a stale temporary installation. Commit c66b438db62748000700c9b90b585e756dd54141 missed this. Back-patch to 9.5 (all supported versions).
* Doc: Fix order of pg_shmem_allocations in system view listMichael Paquier2020-05-25
| | | | | | | pg_shmem_allocations was in the wrong position with pg_stats. Author: Ian Barwick Discussion: https://postgr.es/m/de7279d4-7ea0-037f-d7d2-1161682339db@2ndquadrant.com
* Add missing invocations to object access hooksMichael Paquier2020-05-23
| | | | | | | | | | | | | | | The following commands have been missing calls to object access hooks InvokeObjectPost{Create|Alter}Hook normally applied to all commands: - ALTER RULE RENAME TO - ALTER USER MAPPING - CREATE ACCESS METHOD - CREATE STATISTICS Thanks also to Robert Haas for the discussion. Author: Mark Dilger Reviewed-by: Álvaro Herrera, Michael Paquier Discussion: https://postgr.es/m/435CD295-F409-44E0-91EC-DF32C7AFCD76@enterprisedb.com
* Fix two typos in a commentAlvaro Herrera2020-05-22
| | | | They were introduced in 898e5e3290a7; backpatch to 12.
* doc: Add note about I/O timing information in EXPLAIN and pg_stat_database.Fujii Masao2020-05-22
| | | | | | | | | | | | | | | | Explain that the followings are tracked only when track_io_timing GUC is enabled. - blk_read_time and blk_write_time in pg_stat_database - time spent reading and writing data file blocks in EXPLAIN output with BUFFERS option Whther track_io_timing is enabled affects also blk_read_time and blk_write_time in pg_stat_statements, but which was already documented. Author: Atsushi Torikoshi Reviewed-by: Fujii Masao Discussion: https://postgr.es/m/CACZ0uYHo_NwbxpLH76OGF-O=13tkR0ZM0zeyGEhZ+JEXZVRyCA@mail.gmail.com
* Remove unnecessary castPeter Eisentraut2020-05-22
| | | | | Probably copied from nearby calls where it is necessary. But this one also casts away constness, so it was doubly annoying.
* Adjust indentation in src/backend/optimizer/README.Etsuro Fujita2020-05-22
| | | | | | | | | | The previous indentation of optimizer functions was unclear; adjust the indentation dashes so that a deeper level of indentation indicates that the outer optimizer function calls the inner one. Author: Richard Guo, with additional change by me Reviewed-by: Kyotaro Horiguchi Discussion: https://postgr.es/m/CAMbWs4-U-ogzpchGsP2BBMufCss1hktm%2B%2BeTJK_dUC196pw0cQ%40mail.gmail.com
* doc: PG 13 relnotes: Improve FETCH linkBruce Momjian2020-05-21
| | | | | | | | Reported-by: Erwin Brandstetter Discussion: https://postgr.es/m/CAGHENJ4X626ZfYhondXSP4sQgC5zDtsp_LNg1QaD+U7vfgYXQQ@mail.gmail.com Backpatch-through: head
* doc: PG 13 relnotes: fix FETCH FIRST ... WITH TIES xreflabelBruce Momjian2020-05-21
| | | | | | | | Reported-by: Erwin Brandstetter Discussion: https://postgr.es/m/CAGHENJ4X626ZfYhondXSP4sQgC5zDtsp_LNg1QaD+U7vfgYXQQ@mail.gmail.com Backpatch-through: head
* doc: suggest 1.1 as a random_page_cost value for SSDsBruce Momjian2020-05-21
| | | | | | | | Reported-by: yigong hu Discussion: https://postgr.es/m/CAOxFffcourucFqSk+tZA13ErS3XRYkDy6EeaPff4AvHGiEEuug@mail.gmail.com Backpatch-through: 9.5
* doc: Simplify mention of unique indexes for NULL controlBruce Momjian2020-05-21
| | | | | | Discussion: https://postgr.es/m/2304.1586532634@sss.pgh.pa.us Backpatch-through: 9.5
* Doc: Describe CREATE INDEX deduplication strategy.Peter Geoghegan2020-05-21
| | | | | | | | | The B-Tree index deduplication strategy used during CREATE INDEX and REINDEX differs from the lazy strategy used by retail inserts. Make that clear by adding a new paragraph to the B-Tree implementation section of the documentation. In passing, do some copy-editing of nearby deduplication documentation.
* Clear some style deviations.Noah Misch2020-05-21
|
* Use explicit_bzero() when clearing sslpassword in libpqMichael Paquier2020-05-21
| | | | | | | | | Since 74a308c, any security-sensitive information gets cleared from memory this way. This was forgotten in 4dc6355. Author: Daniel Gustafsson Reviewed-by: Peter Eisentraut, Michael Paquier Discussion: https://postgr.es/m/935443BA-D42E-4CE0-B181-1AD79E6DD45A@yesql.se
* Fix MSVC installations with multiple "configure" files detectedMichael Paquier2020-05-21
| | | | | | | | | | | | | | | | When installing binaries and libraries using the MSVC installation routines, the operation gets done after moving to the root folder, whose location is detected by checking if "configure" exists two times in a row. So, calling the installation script from src/tools/msvc/ with an extra "configure" file four levels up the root path of the code tree causes the execution to go further up, leading to a failure in finding the builds. This commit fixes the issue by moving to the root folder of the code tree only once, when necessary. Author: Arnold Müller Reviewed-by: Daniel Gustafsson Discussion: https://postgr.es/m/16343-f638f67e7e52b86c@postgresql.org Backpatch-through: 9.5
* doc: Adding a partition does not require Access Exclusive lockAlvaro Herrera2020-05-20
| | | | | | | This doc update was missed in 898e5e3290a7. Backpatch to 12. Pointed out by Pavel Luzanov Discussion: https://postgr.es/m/642e9fbc-b832-698b-9a8f-d626afd7014d@postgrespro.ru
* Doc: Fix description of pg_class.relreplidentMichael Paquier2020-05-20
| | | | | | | | | | The description missed a comma and lacked an explanation of what happens with REPLICA IDENTITY USING INDEX when the dependent index is dropped. Author: Marina Polyakova Reviewed-by: Daniel Gustafsson, Michael Paquier Discussion: https://postgr.es/m/ad1a0badc32658b1bbb07aa312346a1d@postgrespro.ru Backpatch-through: 9.5