Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
390 commits
Select commit Hold shift + click to select a range
9f270f4
Fix infinite wait when reading a partially written WAL record
akorotkov Jul 19, 2025
f4a67e5
doc: Document reopen of output file via SIGHUP in pg_recvlogical.
MasaoFujii Jul 20, 2025
0123922
ecpg: Fix NULL pointer dereference during connection lookup
michaelpq Jul 22, 2025
b252ce3
Fix build breakage on Solaris-alikes with late-model GCC.
tglsfdc Jul 23, 2025
b248a3b
Limit checkpointer requests queue size
akorotkov Jul 27, 2025
0ffbd34
Avoid regression in the size of XML input that we will accept.
tglsfdc Jul 28, 2025
9af075c
Clarify documentation for the initcap function
akorotkov Jul 29, 2025
0928e18
Remove unnecessary complication around xmlParseBalancedChunkMemory.
tglsfdc Jul 29, 2025
1985743
Don't put library-supplied -L/-I switches before user-supplied ones.
tglsfdc Jul 29, 2025
d6ffc43
Fix ./configure checks with __cpuidex() and __cpuid()
michaelpq Jul 30, 2025
e99010c
pg_dump: provide a stable sort order for rules.
tglsfdc Nov 4, 2024
22f126d
Sort dump objects independent of OIDs, for the 7 holdout object types.
nmisch Jul 31, 2025
434d2d1
Fix a deadlock during ALTER SUBSCRIPTION ... DROP PUBLICATION.
Aug 1, 2025
f79ca73
Allow resetting unknown custom GUCs with reserved prefixes.
nathan-bossart Aug 1, 2025
23dc277
Doc: clarify the restrictions of AFTER triggers with transition tables.
Aug 2, 2025
6914a33
Fix assertion failure in pgbench when handling multiple pipeline sync…
MasaoFujii Aug 3, 2025
2f60011
doc: mention unusability of dropped CHECK to verify NOT NULL
alvherre Aug 4, 2025
8748148
Fix typo in create_index.sql.
deanrasheed Aug 4, 2025
835c937
Fix incorrect return value in brin_minmax_multi_distance_numeric().
tglsfdc Aug 5, 2025
63c79a6
pg_upgrade: Improve message indentation
petere Aug 7, 2025
baacfb9
Update ICU C++ API symbols
j-naylor Aug 7, 2025
098c27d
Revert "Clarify documentation for the initcap function"
akorotkov Aug 7, 2025
73f897b
Fix checkpointer shared memory allocation
akorotkov Aug 7, 2025
186bc0d
doc: add float as an alias for double precision.
tglsfdc Aug 7, 2025
22d7833
pg_upgrade: Add missing newline in output
petere Aug 7, 2025
a8b31b1
pg_upgrade: Make format strings consistent
petere Aug 7, 2025
769be67
Add information about "generation" when dropping twice pgstats entry
michaelpq Aug 8, 2025
d642d23
Disallow collecting transition tuples from child foreign tables.
Aug 8, 2025
18d2d8a
pg_upgrade: Add missing newline in output, another one
petere Aug 8, 2025
f39a7f3
Fix oversight in FindTriggerIncompatibleWithInheritance.
Aug 8, 2025
f0d55b6
Fix incorrect lack of Datum conversion in _int_matchsel()
petere Aug 8, 2025
70637d7
Remove, from stable branches, the new assertion of no pg_dump OID sort.
nmisch Aug 10, 2025
dfe189e
Release notes for 17.6, 16.10, 15.14, 14.19, 13.22.
tglsfdc Aug 10, 2025
415badc
Fix security checks in selectivity estimation functions.
deanrasheed Aug 11, 2025
a4f513b
Translation updates
petere Aug 11, 2025
9751f93
Convert newlines to spaces in names written in v11+ pg_dump comments.
nmisch Aug 11, 2025
4240405
Restrict psql meta-commands in plain-text dumps.
nathan-bossart Aug 11, 2025
4eb9733
Last-minute updates for release notes.
tglsfdc Aug 11, 2025
0ab43b5
Stamp 15.14.
tglsfdc Aug 11, 2025
f4c0883
Don't treat EINVAL from semget() as a hard failure.
tglsfdc Aug 13, 2025
88f3f7f
ci: Per-repo configuration for manually trigger tasks
anarazel Aug 14, 2025
b3aa95b
ci: Simplify ci-os-only handling
anarazel Aug 14, 2025
199a347
Fix invalid format string in HASH_DEBUG code
david-rowley Aug 15, 2025
82f9968
Fix git whitespace warning
petere Aug 15, 2025
242e5af
Update obsolete comments in ResultRelInfo struct.
Aug 17, 2025
e411371
Fix self-deadlock during DROP SUBSCRIPTION.
Aug 19, 2025
eb9ee4d
Add CHECK_FOR_INTERRUPTS in contrib/pg_buffercache functions.
MasahikoSawada Aug 19, 2025
818be9b
Fix assertion failure with replication slot release in single-user mode
michaelpq Aug 20, 2025
1c58a1b
doc: Improve description of wal_compression
michaelpq Aug 21, 2025
ec47100
Ignore temporary relations in RelidByRelfilenumber()
michaelpq Aug 22, 2025
fbf967e
Sort DO_DEFAULT_ACL dump objects independent of OIDs.
nmisch Aug 23, 2025
090c9c9
Rewrite previous commit's test for TestUpgradeXversion compatibility.
nmisch Aug 23, 2025
a9c1b9c
Do CHECK_FOR_INTERRUPTS inside, not before, scanGetItem.
tglsfdc Aug 26, 2025
34249b3
Put "excludeOnly" GIN scan keys at the end of the scankey array.
tglsfdc Aug 26, 2025
f9a7622
CREATE STATISTICS: improve misleading error message
alvherre Aug 29, 2025
8286bce
Fix possible use after free in expand_partitioned_rtentry()
david-rowley Aug 29, 2025
0b274c4
libpq: Fix PQtrace() format for non-printable characters
michaelpq Sep 3, 2025
53e35fb
Fix planner error when estimating SubPlan cost
Sep 3, 2025
451b22e
Fix replica identity check for INSERT ON CONFLICT DO UPDATE.
deanrasheed Sep 4, 2025
5481cc3
Fix replica identity check for MERGE.
deanrasheed Sep 4, 2025
a462492
Fix compiler error introduced by 5386bfb9c1f.
deanrasheed Sep 4, 2025
f871fba
Fix concurrent update issue with MERGE.
deanrasheed Sep 5, 2025
1852ec5
Fix corruption of pgstats shared hashtable due to OOM failures
michaelpq Sep 8, 2025
5ac9738
Fix memory leakage in nodeSubplan.c.
tglsfdc Sep 10, 2025
cbe37db
Fix description of WAL record blocks in hash_xlog.h
michaelpq Sep 11, 2025
451373d
Report the correct is_temporary flag for column defaults.
tglsfdc Sep 11, 2025
33e49ee
Fix oversights in pg_event_trigger_dropped_objects() fixes.
tglsfdc Sep 12, 2025
9fd5315
Amend recent fix for SIMILAR TO regex conversion.
tglsfdc Sep 13, 2025
72a24be
jit: fix build with LLVM-21
petere Sep 15, 2025
4529861
CREATE STATISTICS: improve misleading error message
petere Sep 15, 2025
c8ed160
pg_restore: Fix comment handling with --no-publications / --no-subscr…
MasaoFujii Sep 16, 2025
165b07e
pg_dump: Fix dumping of security labels on subscriptions and event tr…
MasaoFujii Sep 16, 2025
0773f3a
Fix pg_dump COMMENT dependency for separate domain constraints.
nmisch Sep 16, 2025
0057702
Add missing EPQ recheck for TID Scan
david-rowley Sep 16, 2025
f00ad44
Add missing EPQ recheck for TID Range Scan
david-rowley Sep 17, 2025
afd18f2
Calculate agglevelsup correctly when Aggref contains a CTE.
tglsfdc Sep 17, 2025
5f42008
pg_restore: Fix security label handling with --no-publications/subscr…
MasaoFujii Sep 18, 2025
fa42213
Add minimal sleep to stats isolation test functions.
tglsfdc Sep 25, 2025
704f517
pgbench: Fix assertion failure with retriable errors in pipeline mode.
MasaoFujii Sep 26, 2025
9ca7989
Fix missed copying of groupDistinct in transformPLAssignStmt.
tglsfdc Sep 27, 2025
d202ec1
Fix StatisticsObjIsVisibleExt() for pg_temp.
nmisch Sep 29, 2025
bdccb63
pgbench: Fix error reporting in readCommandResponse().
MasaoFujii Sep 30, 2025
49b5f0b
pgstattuple: Improve reports generated for indexes (hash, gist, btree)
michaelpq Oct 2, 2025
b5cefc1
pgbench: Fail cleanly when finding a COPY result state
michaelpq Oct 3, 2025
771b106
Use SOCK_ERRNO[_SET] in fe-secure-gssapi.c.
tglsfdc Oct 5, 2025
c407617
Fix access-to-already-freed-memory issue in pgoutput.
MasahikoSawada Oct 9, 2025
0adf424
Remove state.tmp when failing to save a replication slot
michaelpq Oct 10, 2025
5bc057d
Fix two typos in xlogstats.h and xlogstats.c
michaelpq Oct 10, 2025
ca0c939
Remove overzealous _bt_killitems assertion.
petergeoghegan Oct 10, 2025
23b316c
dbase_redo: Fix Valgrind-reported memory leak
alvherre Oct 11, 2025
bdae984
Stop creating constraints during DETACH CONCURRENTLY
alvherre Oct 11, 2025
46086fb
Doc: clarify n_distinct_inherited setting
david-rowley Oct 13, 2025
f91666c
Fix incorrect message-printing in win32security.c.
tglsfdc Oct 13, 2025
4a08603
Fix EvalPlanQual handling of foreign/custom joins in ExecScanFetch.
Oct 15, 2025
33202cb
Fix update-po for the PGXS case
alvherre Oct 16, 2025
6c03ae8
Fix privilege checks for pg_prewarm() on indexes.
nathan-bossart Oct 17, 2025
4cc3b44
Fix pg_dump sorting of foreign key constraints
alvherre Oct 18, 2025
8b9924b
Don't rely on zlib's gzgetc() macro.
tglsfdc Oct 19, 2025
4c3795c
Fix POSIX compliance in pgwin32_unsetenv() for "name" argument
michaelpq Oct 20, 2025
810aaf7
Fix BRIN 32-bit counter wrap issue with huge tables
david-rowley Oct 21, 2025
f9790ac
Re-pgindent brin.c.
nathan-bossart Oct 21, 2025
d1469c2
Add previous commit to .git-blame-ignore-revs.
nathan-bossart Oct 21, 2025
d9c5e71
Add .abi-compliance-history to back-branches.
nathan-bossart Oct 21, 2025
59b215f
Fix stalled lag columns in pg_stat_replication when replay LSN stops …
MasaoFujii Oct 22, 2025
caf529a
Make invalid primary_slot_name follow standard GUC error reporting.
MasaoFujii Oct 22, 2025
b8ecfbe
Fix incorrect zero extension of Datum in JIT tuple deform code
david-rowley Oct 23, 2025
574a656
Add copyright notice to vacuum_horizon_floor.pl test.
MasahikoSawada Oct 23, 2025
c16154b
Add comments explaining overflow entries in the replication lag tracker.
MasaoFujii Oct 23, 2025
4cde732
Fix resource leaks in PL/Python error reporting, redux.
tglsfdc Oct 23, 2025
05d8a08
Fix off-by-one Asserts in FreePageBtreeInsertInternal/Leaf.
tglsfdc Oct 23, 2025
5f0b6f7
doc: Remove mention of Git protocol support
danielgustafsson Oct 23, 2025
2992b9a
Fix incorrect logic for caching ResultRelInfos for triggers
david-rowley Oct 25, 2025
f3420e0
Fix bogus use of "long" in AllocSetCheck()
david-rowley Oct 30, 2025
4eac7e3
ci: Fix Windows and MinGW task names
anarazel Oct 30, 2025
a027ce3
ci: macos: Upgrade to Sequoia
anarazel Oct 30, 2025
3f76f65
doc: rewrite random_page_cost description
bmomjian Oct 30, 2025
cd55aba
Avoid mixing void and integer in a conditional expression.
tglsfdc Nov 2, 2025
e1dd1f9
Doc: cover index CONCURRENTLY causing errors in INSERT ... ON CONFLICT.
nmisch Nov 3, 2025
da5ea6c
Fix unconditional WAL receiver shutdown during stream-archive transition
michaelpq Nov 4, 2025
23ddadf
BRIN autosummarization may need a snapshot
alvherre Nov 4, 2025
643a5e9
Tighten check for generated column in partition key expression
petere Nov 4, 2025
42fa4db
Have psql's "\? variables" show csv_fieldsep
alvherre Nov 4, 2025
00bdbac
Backpatch: Fix warnings about declaration of environ on MinGW
anarazel Nov 4, 2025
eeabf8b
ci: debian: Switch to Debian Trixie release
anarazel Nov 4, 2025
bcfbd3f
Fix snapshot handling bug in recent BRIN fix
alvherre Nov 4, 2025
5b45f7e
jit: Fix accidentally-harmless type confusion
anarazel Nov 4, 2025
13efc28
Fix timing-dependent failure in recovery test 004_timeline_switch
michaelpq Nov 5, 2025
c3359d1
ci: Add missing "set -e" to scripts run by su.
macdice Nov 6, 2025
910409d
postgres_fdw: Add more test coverage for EvalPlanQual testing.
Nov 6, 2025
1cba25e
Update obsolete comment in ExecScanReScan().
Nov 6, 2025
8278737
Disallow generated columns in COPY WHERE clause
petere Nov 6, 2025
49b4599
Introduce XLogRecPtrIsValid()
alvherre Nov 6, 2025
a2e17a2
doc: Fix descriptions of some PGC_POSTMASTER parameters.
MasaoFujii Nov 7, 2025
1c7cba4
Fix generic read and write barriers for Clang.
macdice Nov 7, 2025
e334e80
Release notes for 18.1, 17.7, 16.11, 15.15, 14.20, 13.23.
tglsfdc Nov 9, 2025
86cbe9e
Translation updates
petere Nov 10, 2025
9142156
libpq: Prevent some overflows of int/size_t
jchampio Nov 10, 2025
2393d37
Check for CREATE privilege on the schema in CREATE STATISTICS.
nathan-bossart Nov 10, 2025
70d03b5
Last-minute updates for release notes.
tglsfdc Nov 10, 2025
32f3881
Stamp 15.15.
tglsfdc Nov 10, 2025
74b26c8
doc: Fix incorrect synopsis for ALTER PUBLICATION ... DROP ...
MasaoFujii Nov 12, 2025
97cd4b6
Fix pg_upgrade around multixid and mxoff wraparound
hlinnaka Nov 12, 2025
bec7853
Fix range for commit_siblings in sample conf
danielgustafsson Nov 12, 2025
608566b
doc: Document effects of ownership change on privileges
danielgustafsson Nov 12, 2025
b1da37d
Escalate ERRORs during async notify processing to FATAL
hlinnaka Nov 12, 2025
1a469d7
Fix bug where we truncated CLOG that was still needed by LISTEN/NOTIFY
hlinnaka Nov 12, 2025
0c86264
Fix remaining race condition with CLOG truncation and LISTEN/NOTIFY
hlinnaka Nov 12, 2025
21a9014
Clear 'xid' in dummy async notify entries written to fill up pages
hlinnaka Nov 12, 2025
c663152
doc: Improve description of RLS policies applied by command type.
deanrasheed Nov 13, 2025
d61af52
Add note about CreateStatistics()'s selective use of check_rights.
nathan-bossart Nov 14, 2025
5d5b05c
Doc: include MERGE in variable substitution command list
david-rowley Nov 16, 2025
ad5cc3a
Update .abi-compliance-history for change to CreateStatistics().
nathan-bossart Nov 17, 2025
3995e4a
Define PS_USE_CLOBBER_ARGV on GNU/Hurd.
macdice Nov 17, 2025
9f5a58a
Don't allow CTEs to determine semantic levels of aggregates.
tglsfdc Nov 18, 2025
7c49407
Print new OldestXID value in pg_resetwal when it's being changed
hlinnaka Nov 19, 2025
5516485
jit: Adjust AArch64-only code for LLVM 21.
macdice Nov 22, 2025
ea757e8
Fix incorrect IndexOptInfo header comment
david-rowley Nov 24, 2025
da39714
lwlock: Fix, currently harmless, bug in LWLockWakeup()
anarazel Nov 24, 2025
eb7743e
doc: Clarify passphrase command reloading on Windows
danielgustafsson Nov 26, 2025
f9f9283
doc: Fix misleading synopsis for CREATE/ALTER PUBLICATION.
MasaoFujii Nov 27, 2025
f19502f
Allow indexscans on partial hash indexes with implied quals.
tglsfdc Nov 27, 2025
134a8ee
Avoid rewriting data-modifying CTEs more than once.
deanrasheed Nov 29, 2025
721b58f
Fix amcheck's handling of incomplete root splits in B-tree
hlinnaka Dec 2, 2025
7792bdc
Fix amcheck's handling of half-dead B-tree pages
hlinnaka Dec 2, 2025
8cfb174
Set next multixid's offset when creating a new multixid
hlinnaka Dec 3, 2025
7e54eac
Show version of nodes in output of TAP tests
michaelpq Dec 5, 2025
b9a02b9
Fix setting next multixid's offset at offset wraparound
hlinnaka Dec 5, 2025
52a9588
Doc: fix typo in hash index documentation
david-rowley Dec 9, 2025
f188bc5
doc: Fix statement about ON CONFLICT and deferrable constraints.
deanrasheed Dec 9, 2025
07ddf61
Fix allocation formula in llvmjit_expr.c
michaelpq Dec 11, 2025
aa2ec04
tests: Rename conflicting role names
anarazel Oct 5, 2022
b0b52b7
Clarify comment on multixid offset wraparound check
hlinnaka Dec 15, 2025
95ef6f4
Fail recovery when missing redo checkpoint record without backup_label
michaelpq Dec 16, 2025
bd2726d
Switch memory contexts in ReinitializeParallelDSM.
robertmhaas Dec 16, 2025
335b2f3
Fix multibyte issue in ltree_strncasecmp().
jeff-davis Dec 16, 2025
fa7278e
Reorder two functions in inval.c
michaelpq Nov 7, 2023
05d605b
For inplace update, send nontransactional invalidations.
nmisch Dec 17, 2025
20a48c1
WAL-log inplace update before revealing it to other sessions.
nmisch Dec 17, 2025
8609120
Assert lack of hazardous buffer locks before possible catalog read.
nmisch Dec 17, 2025
d88f453
Update .abi-compliance-history for PrepareToInvalidateCacheTuple().
nmisch Dec 17, 2025
460d970
Do not emit WAL for unlogged BRIN indexes
hlinnaka Dec 18, 2025
0fc2f53
Add guard to prevent recursive memory context logging.
MasaoFujii Dec 19, 2025
1cf4f78
Fix printf format string warning on MinGW.
macdice Dec 5, 2024
90d1bee
Fix orphaned origin in shared memory after DROP SUBSCRIPTION
michaelpq Dec 23, 2025
5d5487c
Fix bug in following update chain when locking a heap tuple
hlinnaka Dec 23, 2025
7e16074
doc: Remove duplicate word in ECPG description
michaelpq Dec 26, 2025
300575f
Fix pg_stat_get_backend_activity() to use multi-byte truncated result
michaelpq Dec 27, 2025
c38f973
jit: Remove -Wno-deprecated-declarations in 18+.
macdice Dec 30, 2025
fa557d3
Fix a race condition in updating procArray->replication_slot_xmin.
MasahikoSawada Dec 30, 2025
4c8208c
jit: Fix jit_profiling_support when unavailable.
macdice Dec 31, 2025
176fd83
Update copyright for 2026
bmomjian Jan 1, 2026
c895104
Fix selectivity estimation integer overflow in contrib/intarray
david-rowley Jan 4, 2026
4ece441
Doc: add missing punctuation
david-rowley Jan 4, 2026
f7eb44e
Honor GUC settings specified in CREATE SUBSCRIPTION CONNECTION.
MasaoFujii Jan 6, 2026
ec8d91c
Add TAP test for GUC settings passed via CONNECTION in logical replic…
MasaoFujii Jan 6, 2026
f20b790
Fix issue with EVENT TRIGGERS and ALTER PUBLICATION
david-rowley Jan 6, 2026
c813007
createuser: Update docs to reflect defaults
j-naylor Jan 7, 2026
39a6a2c
Fix typo
petere Jan 7, 2026
aae0562
Prevent invalidation of newly created replication slots.
Jan 8, 2026
3ad0564
Fix possible incorrect column reference in ERROR message
david-rowley Jan 8, 2026
988612c
doc: Improve description of publish_via_partition_root
jchampio Jan 9, 2026
a563ac6
Add check for invalid offset at multixid truncation
hlinnaka Jan 15, 2026
ef84655
Fix 'unexpected data beyond EOF' on replica restart
hlinnaka Jan 15, 2026
b926ff1
Fix segfault from releasing locks in detached DSM segments
amitlan Jan 16, 2026
fbf8df5
Fix error message related to end TLI in backup manifest
michaelpq Jan 18, 2026
00410b7
Update time zone data files to tzdata release 2025c.
tglsfdc Jan 18, 2026
dcddd69
amcheck: Fix snapshot usage in bt_index_parent_check
alvherre Jan 21, 2026
cbdd09a
jit: Add missing inline pass for LLVM >= 17.
macdice Jan 22, 2026
83172d9
doc: Mention pg_get_partition_constraintdef()
michaelpq Jan 22, 2026
7eb3422
Remove faulty Assert in partitioned INSERT...ON CONFLICT DO UPDATE.
tglsfdc Jan 22, 2026
687533b
Fix bogus ctid requirement for dummy-root partitioned targets
amitlan Jan 23, 2026
c582453
Fix trigger transition table capture for MERGE in CTE queries.
deanrasheed Jan 24, 2026
7023650
Update .abi-compliance-history for change to TransitionCaptureState.
deanrasheed Jan 30, 2026
bb6aede
Improve guards against false regex matches in BackgroundPsql.pm.
tglsfdc Jan 30, 2026
6b81a1c
Fix various instances of undefined behavior
j-naylor Feb 4, 2026
d242881
Fix logical replication TAP test to read publisher log correctly.
MasaoFujii Feb 4, 2026
4ec943f
Fix some error message inconsistencies
michaelpq Feb 6, 2026
ff1d581
Protect against small overread in SASLprep validation
jchampio Feb 6, 2026
9dcd0b3
Further error message fix
petere Feb 7, 2026
221a642
Translation updates
petere Feb 8, 2026
0a98185
Release notes for 18.2, 17.8, 16.12, 15.16, 14.21.
tglsfdc Feb 8, 2026
9a9982e
pgcrypto: Fix buffer overflow in pgp_pub_decrypt_bytea()
michaelpq Feb 8, 2026
b2c81ac
Fix encoding length for EUC_CN.
macdice Feb 4, 2026
50863be
Fix mb2wchar functions on short input.
macdice Jan 25, 2026
fd82ddb
Replace pg_mblen() with bounds-checked versions.
macdice Jan 7, 2026
757bf81
Code coverage for most pg_mblen* calls.
macdice Jan 11, 2026
8f8b1ff
Require PGP-decrypted text to pass encoding validation.
nmisch Feb 9, 2026
429aeae
Guard against unexpected dimensions of oidvector/int2vector.
tglsfdc Feb 9, 2026
3ecc84c
Add a syscache on pg_extension.oid.
tglsfdc Feb 9, 2026
b764b26
Require superuser to install a non-built-in selectivity estimator.
tglsfdc Feb 9, 2026
deb464a
Harden _int_matchsel() against being attached to the wrong operator.
tglsfdc Feb 9, 2026
6f741bc
Fix test "NUL byte in text decrypt" for --without-zlib builds.
nmisch Feb 9, 2026
749e616
Last-minute updates for release notes.
tglsfdc Feb 9, 2026
78bc85d
Stamp 15.16.
tglsfdc Feb 9, 2026
24dc2f3
doc: Clarify RLS policies applied for ON CONFLICT DO NOTHING.
deanrasheed Feb 11, 2026
cfd7901
doc: Mention all SELECT privileges required by INSERT ... ON CONFLICT.
deanrasheed Feb 11, 2026
c10535f
Further stabilize a postgres_fdw test case.
tglsfdc Feb 11, 2026
ebc53ca
Fix pg_stat_get_backend_wait_event() for aux processes
hlinnaka Feb 11, 2026
254b15c
Fix plpgsql's handling of "return simple_record_variable".
tglsfdc Feb 11, 2026
5b305eb
pg_mblen_range, pg_mblen_with_len: Valgrind after encoding ereport.
nmisch Feb 14, 2026
a20eb24
Fix SUBSTRING() for toasted multibyte characters.
nmisch Feb 14, 2026
0bc0fc7
pgcrypto: Tweak error message for incorrect session key length
michaelpq Feb 16, 2026
899de38
Don't reset 'latest_page_number' when replaying multixid truncation
hlinnaka Feb 16, 2026
63c05e0
hstore: Fix NULL pointer dereference with receive function
michaelpq Feb 16, 2026
ec86152
Suppress new "may be used uninitialized" warning.
nmisch Feb 17, 2026
e3bfa4f
Fix test_valid_server_encoding helper function.
macdice Feb 17, 2026
8dc47eb
Release notes for 18.3, 17.9, 16.13, 15.17, 14.22.
tglsfdc Feb 22, 2026
7063b9e
Translation updates
petere Feb 23, 2026
3eb6f61
Stamp 15.17.
tglsfdc Feb 23, 2026
d20a833
Merge tag 'REL_15_17' into yb-pg15
fizaaluthra Apr 8, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
57 changes: 57 additions & 0 deletions .abi-compliance-history
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
# Reference point for ABI compliance checks
#
# This file lists commits on the current branch that break ABI compatibility in
# ways that have been deemed acceptable (e.g., removing an extern function with
# no third-party uses). The primary intent of this file is to control the ABI
# compliance checks on the buildfarm, but it also serves as a central location
# to document the justification for each.
#
# In general, entries should be added reactively after an abi-compliance-check
# buildfarm failure. It is important to verify the details of the breakage
# match expectations, as the first entry listed will become the updated ABI
# baseline point.
#
# Add new entries by adding the output of the following to the top of the file:
#
# $ git log --pretty=format:"%H%n#%n# %s%n# %cd%n#%n# <ADD JUSTIFICATION HERE>" $ABIBREAKGITHASH -1 --date=iso
#
# Be sure to replace "<ADD JUSTIFICATION HERE>" with details of your change and
# why it is deemed acceptable.

c5824536e7ca3c5ef5a9db59bd36c4e6beb23f51
#
# Fix trigger transition table capture for MERGE in CTE queries.
# 2026-01-24 11:30:51 +0000
#
# This commit changed the TransitionCaptureState structure, replacing
# the "tcs_private" field with 3 separate fields. This structure can
# only be built using MakeTransitionCaptureState(), and PGXN contained
# no calls to MakeTransitionCaptureState() or uses of the
# TransitionCaptureState structure.

05d605b6c69f0276ae091ced1ed9082963052550
#
# For inplace update, send nontransactional invalidations.
# 2025-12-16 16:13:55 -0800
#
# This changed PrepareToInvalidateCacheTuple() parameters. PGXN contained no
# calls to that function.

2393d374ae9c0bc8327adc80fe4490edb05be167
#
# Check for CREATE privilege on the schema in CREATE STATISTICS.
# 2025-11-10 09:00:00 -0600
#
# This commit added a parameter to CreateStatistics(). We are unaware of any
# impacted third-party code.

fc0fb77c550fe8289d718c33c7aacf16023d9941
#
# Fix re-distributing previously distributed invalidation messages during logical decoding.
# 2025-06-16 17:35:53 -0700
#
# This is the original ABI baseline point for REL_15_STABLE. The first entry
# would ordinarily point to something just before the .0 release, but this file
# was first added in October 2025, and we're unlikely to act upon ABI breaks in
# released minor versions, so we've chosen to truncate the ABI history to start
# with the most recent ABI break documented in the git commit history.
78 changes: 74 additions & 4 deletions .cirrus.star
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ https://github.com/bazelbuild/starlark/blob/master/spec.md
See also .cirrus.yml and src/tools/ci/README
"""

load("cirrus", "env", "fs")
load("cirrus", "env", "fs", "re", "yaml")


def main():
Expand All @@ -18,32 +18,102 @@ def main():

1) the contents of .cirrus.yml

2) if defined, the contents of the file referenced by the, repository
2) computed environment variables

3) if defined, the contents of the file referenced by the, repository
level, REPO_CI_CONFIG_GIT_URL variable (see
https://cirrus-ci.org/guide/programming-tasks/#fs for the accepted
format)

3) .cirrus.tasks.yml
4) .cirrus.tasks.yml
"""

output = ""

# 1) is evaluated implicitly


# Add 2)
additional_env = compute_environment_vars()
env_fmt = """
###
# Computed environment variables start here
###
{0}
###
# Computed environment variables end here
###
"""
output += env_fmt.format(yaml.dumps({'env': additional_env}))


# Add 3)
repo_config_url = env.get("REPO_CI_CONFIG_GIT_URL")
if repo_config_url != None:
print("loading additional configuration from \"{}\"".format(repo_config_url))
output += config_from(repo_config_url)
else:
output += "\n# REPO_CI_CONFIG_URL was not set\n"

# Add 3)

# Add 4)
output += config_from(".cirrus.tasks.yml")


return output


def compute_environment_vars():
cenv = {}

###
# Some tasks are manually triggered by default because they might use too
# many resources for users of free Cirrus credits, but they can be
# triggered automatically by naming them in an environment variable e.g.
# REPO_CI_AUTOMATIC_TRIGGER_TASKS="task_name other_task" under "Repository
# Settings" on Cirrus CI's website.

default_manual_trigger_tasks = []

repo_ci_automatic_trigger_tasks = env.get('REPO_CI_AUTOMATIC_TRIGGER_TASKS', '')
for task in default_manual_trigger_tasks:
name = 'CI_TRIGGER_TYPE_' + task.upper()
if repo_ci_automatic_trigger_tasks.find(task) != -1:
value = 'automatic'
else:
value = 'manual'
cenv[name] = value
###

###
# Parse "ci-os-only:" tag in commit message and set
# CI_{$OS}_ENABLED variable for each OS

operating_systems = [
'freebsd',
'linux',
'macos',
'windows',
]
commit_message = env.get('CIRRUS_CHANGE_MESSAGE')
match_re = r"(^|.*\n)ci-os-only: ([^\n]+)($|\n.*)"

# re.match() returns an array with a tuple of (matched-string, match_1, ...)
m = re.match(match_re, commit_message)
if m and len(m) > 0:
os_only = m[0][2]
os_only_list = re.split(r'[, ]+', os_only)
else:
os_only_list = operating_systems

for os in operating_systems:
os_enabled = os in os_only_list
cenv['CI_{0}_ENABLED'.format(os.upper())] = os_enabled
###

return cenv


def config_from(config_src):
"""return contents of config file `config_src`, surrounded by markers
indicating start / end of the the included file
Expand Down
42 changes: 21 additions & 21 deletions .cirrus.tasks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,22 +32,22 @@ on_failure: &on_failure
type: text/plain

task:
name: FreeBSD - 13
name: FreeBSD

env:
# FreeBSD on GCP is slow when running with larger number of CPUS /
# jobs. Using one more job than cpus seems to work best.
CPUS: 2
BUILD_JOBS: 3
TEST_JOBS: 3
IMAGE_FAMILY: pg-ci-freebsd-13
IMAGE_FAMILY: pg-ci-freebsd
DISK_SIZE: 50

CCACHE_DIR: /tmp/ccache_dir

<<: *freebsd_task_template

only_if: $CIRRUS_CHANGE_MESSAGE !=~ '.*\nci-os-only:.*' || $CIRRUS_CHANGE_MESSAGE =~ '.*\nci-os-only:[^\n]*freebsd.*'
only_if: $CI_FREEBSD_ENABLED

sysinfo_script: |
id
Expand Down Expand Up @@ -76,6 +76,7 @@ task:
# freebsd already takes longer than other platforms except for windows.
configure_script: |
su postgres <<-EOF
set -e
./configure \
--enable-cassert --enable-debug --enable-tap-tests \
--enable-nls \
Expand Down Expand Up @@ -138,13 +139,13 @@ LINUX_CONFIGURE_FEATURES: &LINUX_CONFIGURE_FEATURES >-


task:
name: Linux - Debian Bookworm
name: Linux - Debian Trixie

env:
CPUS: 4
BUILD_JOBS: 4
TEST_JOBS: 8 # experimentally derived to be a decent choice
IMAGE_FAMILY: pg-ci-bookworm
IMAGE_FAMILY: pg-ci-trixie

CCACHE_DIR: /tmp/ccache_dir
DEBUGINFOD_URLS: "https://debuginfod.debian.net"
Expand All @@ -153,7 +154,7 @@ task:

<<: *linux_task_template

only_if: $CIRRUS_CHANGE_MESSAGE !=~ '.*\nci-os-only:.*' || $CIRRUS_CHANGE_MESSAGE =~ '.*\nci-os-only:[^\n]*linux.*'
only_if: $CI_LINUX_ENABLED

ccache_cache:
folder: ${CCACHE_DIR}
Expand Down Expand Up @@ -181,6 +182,7 @@ task:

configure_script: |
su postgres <<-EOF
set -e
./configure \
--enable-cassert --enable-debug --enable-tap-tests \
--enable-nls \
Expand All @@ -198,6 +200,7 @@ task:

test_world_script: |
su postgres <<-EOF
set -e
ulimit -c unlimited # default is 0
make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
EOF
Expand All @@ -208,16 +211,16 @@ task:


task:
name: macOS - Sonoma
name: macOS - Sequoia

env:
CPUS: 4 # always get that much for cirrusci macOS instances
BUILD_JOBS: $CPUS
# Test performance regresses noticably when using all cores. 8 seems to
# Test performance regresses noticeably when using all cores. 8 seems to
# work OK. See
# https://postgr.es/m/20220927040208.l3shfcidovpzqxfh%40awork3.anarazel.de
TEST_JOBS: 8
IMAGE: ghcr.io/cirruslabs/macos-runner:sonoma
IMAGE: ghcr.io/cirruslabs/macos-runner:sequoia

CIRRUS_WORKING_DIR: ${HOME}/pgsql/
CCACHE_DIR: ${HOME}/ccache
Expand All @@ -239,7 +242,7 @@ task:

<<: *macos_task_template

only_if: $CIRRUS_CHANGE_MESSAGE !=~ '.*\nci-os-only:.*' || $CIRRUS_CHANGE_MESSAGE =~ '.*\nci-os-only:[^\n]*(macos|darwin|osx).*'
only_if: $CI_MACOS_ENABLED

sysinfo_script: |
id
Expand Down Expand Up @@ -328,7 +331,7 @@ task:


task:
name: Windows - Server 2019, VS 2019
name: Windows - Server 2022, VS 2019

env:
# Half the allowed per-user CPU cores
Expand Down Expand Up @@ -389,7 +392,7 @@ task:

<<: *windows_task_template

only_if: $CIRRUS_CHANGE_MESSAGE !=~ '.*\nci-os-only:.*' || $CIRRUS_CHANGE_MESSAGE =~ '.*\nci-os-only:[^\n]*windows.*'
only_if: $CI_WINDOWS_ENABLED

sysinfo_script: |
chcp
Expand Down Expand Up @@ -460,12 +463,12 @@ task:

# To limit unnecessary work only run this once the normal linux test succeeds
depends_on:
- Linux - Debian Bookworm
- Linux - Debian Trixie

env:
CPUS: 4
BUILD_JOBS: 4
IMAGE_FAMILY: pg-ci-bookworm
IMAGE_FAMILY: pg-ci-trixie

# Use larger ccache cache, as this task compiles with multiple compilers /
# flag combinations
Expand All @@ -476,7 +479,7 @@ task:

# task that did not run, count as a success, so we need to recheck Linux'
# condition here ...
only_if: $CIRRUS_CHANGE_MESSAGE !=~ '.*\nci-os-only:.*' || $CIRRUS_CHANGE_MESSAGE =~ '.*\nci-os-only:[^\n]*linux.*'
only_if: $CI_LINUX_ENABLED

<<: *linux_task_template

Expand Down Expand Up @@ -554,10 +557,10 @@ task:
always:
mingw_cross_warning_script: |
time ./configure \
--host=x86_64-w64-mingw32 \
--host=x86_64-w64-mingw32ucrt \
--enable-cassert \
CC="ccache x86_64-w64-mingw32-gcc" \
CXX="ccache x86_64-w64-mingw32-g++"
CC="ccache x86_64-w64-mingw32ucrt-gcc" \
CXX="ccache x86_64-w64-mingw32ucrt-g++"
make -s -j${BUILD_JOBS} clean
time make -s -j${BUILD_JOBS} world-bin

Expand All @@ -581,16 +584,13 @@ task:
# - Don't use ccache, the files are uncacheable, polluting ccache's
# cache
# - Use -fmax-errors, as particularly cpluspluscheck can be very verbose
# - XXX have to disable ICU to avoid errors:
# https://postgr.es/m/20220323002024.f2g6tivduzrktgfa%40alap3.anarazel.de
# - XXX: the -Wno-register avoids verbose warnings:
# https://postgr.es/m/20220308181837.aun3tdtdvao4vb7o%40alap3.anarazel.de
###
always:
headers_headerscheck_script: |
time ./configure \
${LINUX_CONFIGURE_FEATURES} \
--without-icu \
--quiet \
CC="gcc" CXX"=g++" CLANG="clang"
make -s -j${BUILD_JOBS} clean
Expand Down
12 changes: 10 additions & 2 deletions .cirrus.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,20 @@
#
# 1) the contents of this file
#
# 2) if defined, the contents of the file referenced by the, repository
# 2) computed environment variables
#
# Used to enable/disable tasks based on the execution environment. See
# .cirrus.star: compute_environment_vars()
#
# 3) if defined, the contents of the file referenced by the, repository
# level, REPO_CI_CONFIG_GIT_URL variable (see
# https://cirrus-ci.org/guide/programming-tasks/#fs for the accepted
# format)
#
# 3) .cirrus.tasks.yml
# This allows running tasks in a different execution environment than the
# default, e.g. to have sufficient resources for cfbot.
#
# 4) .cirrus.tasks.yml
#
# This composition is done by .cirrus.star

Expand Down
3 changes: 3 additions & 0 deletions .git-blame-ignore-revs
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,9 @@
#
# $ git log --pretty=format:"%H # %cd%n# %s" $PGINDENTGITHASH -1 --date=iso

f9790ac5464da45eb44470ab831584356381597b # 2025-10-21 09:56:26 -0500
# Re-pgindent brin.c.

82d0ffae3219e4bc153a1306ce23013d168e04a2 # 2022-06-30 11:03:03 -0400
# pgindent run prior to branching v15.

Expand Down
4 changes: 2 additions & 2 deletions .gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@
*.x[ms]l whitespace=space-before-tab,trailing-space,tab-in-indent

# Avoid confusing ASCII underlines with leftover merge conflict markers
README conflict-marker-size=32
README.* conflict-marker-size=32
README conflict-marker-size=48
README.* conflict-marker-size=48

# Certain data files that contain special whitespace, and other special cases
*.data -whitespace
Expand Down
Loading