Skip to content

Commit 2570647

Browse files
committed
Update Postgres 18 to 18.1
See https://www.postgresql.org/docs/release/18.1/ for release notes.
2 parents 55b68df + 4b32484 commit 2570647

File tree

202 files changed

+11481
-8571
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

202 files changed

+11481
-8571
lines changed

.abi-compliance-history

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
# Reference point for ABI compliance checks
2+
#
3+
# This file lists commits on the current branch that break ABI compatibility in
4+
# ways that have been deemed acceptable (e.g., removing an extern function with
5+
# no third-party uses). The primary intent of this file is to control the ABI
6+
# compliance checks on the buildfarm, but it also serves as a central location
7+
# to document the justification for each.
8+
#
9+
# In general, entries should be added reactively after an abi-compliance-check
10+
# buildfarm failure. It is important to verify the details of the breakage
11+
# match expectations, as the first entry listed will become the updated ABI
12+
# baseline point.
13+
#
14+
# Add new entries by adding the output of the following to the top of the file:
15+
#
16+
# $ git log --pretty=format:"%H%n#%n# %s%n# %cd%n#%n# <ADD JUSTIFICATION HERE>" $ABIBREAKGITHASH -1 --date=iso
17+
#
18+
# Be sure to replace "<ADD JUSTIFICATION HERE>" with details of your change and
19+
# why it is deemed acceptable.
20+
21+
c8af5019bee5c57502db830f8005a01cba60fee0
22+
#
23+
# Fix lookups in pg_{clear,restore}_{attribute,relation}_stats().
24+
# 2025-10-15 12:47:33 -0500
25+
#
26+
# This commit replaced two functions related to lookups/privilege checks for
27+
# the new stats stuff in v18 with RangeVarGetRelidExtended(). These functions
28+
# were not intended for use elsewhere, exist in exactly one release (18.0), and
29+
# do not have any known third-party callers.
30+
31+
9bbcec6030a2744d83311370ec92213fbd76e514
32+
#
33+
# Translation updates
34+
# 2025-09-22 14:18:56 +0200
35+
#
36+
# This is the original ABI baseline point for REL_18_STABLE.

.cirrus.tasks.yml

Lines changed: 39 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ task:
7878
CPUS: 4
7979
BUILD_JOBS: 8
8080
TEST_JOBS: 8
81-
IMAGE_FAMILY: pg-ci-bookworm
81+
IMAGE_FAMILY: pg-ci-trixie
8282
CCACHE_DIR: ${CIRRUS_WORKING_DIR}/ccache_dir
8383
# no options enabled, should be small
8484
CCACHE_MAXSIZE: "150M"
@@ -104,6 +104,7 @@ task:
104104
105105
configure_script: |
106106
su postgres <<-EOF
107+
set -e
107108
meson setup \
108109
--buildtype=debug \
109110
--auto-features=disabled \
@@ -112,6 +113,7 @@ task:
112113
EOF
113114
build_script: |
114115
su postgres <<-EOF
116+
set -e
115117
ninja -C build -j${BUILD_JOBS} ${MBUILD_TARGET}
116118
EOF
117119
upload_caches: ccache
@@ -121,6 +123,7 @@ task:
121123
# tap test that exercises both a frontend binary and the backend.
122124
test_minimal_script: |
123125
su postgres <<-EOF
126+
set -e
124127
ulimit -c unlimited
125128
meson test $MTEST_ARGS --suite setup
126129
meson test $MTEST_ARGS --num-processes ${TEST_JOBS} \
@@ -195,6 +198,7 @@ task:
195198
# already takes longer than other platforms except for windows.
196199
configure_script: |
197200
su postgres <<-EOF
201+
set -e
198202
meson setup \
199203
--buildtype=debug \
200204
-Dcassert=true -Dinjection_points=true \
@@ -207,6 +211,7 @@ task:
207211

208212
test_world_script: |
209213
su postgres <<-EOF
214+
set -e
210215
ulimit -c unlimited
211216
meson test $MTEST_ARGS --num-processes ${TEST_JOBS}
212217
EOF
@@ -231,6 +236,7 @@ task:
231236
# during upload, as it doesn't expect artifacts to change size
232237
stop_running_script: |
233238
su postgres <<-EOF
239+
set -e
234240
build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop || true
235241
EOF
236242
<<: *on_failure_meson
@@ -284,6 +290,7 @@ task:
284290
PKGCONFIG_PATH: '/usr/lib/pkgconfig:/usr/local/lib/pkgconfig'
285291
UUID: -Duuid=e2fs
286292
TCL: -Dtcl_version=tcl86
293+
CORE_DUMP_EXECUTABLE_DIR: $CIRRUS_WORKING_DIR/build/tmp_install/usr/local/pgsql/bin
287294
setup_additional_packages_script: |
288295
#pkg_add -I ...
289296
# Always core dump to ${CORE_DUMP_DIR}
@@ -316,6 +323,7 @@ task:
316323
# And other uuid options are not available on NetBSD.
317324
configure_script: |
318325
su postgres <<-EOF
326+
set -e
319327
meson setup \
320328
--buildtype=debugoptimized \
321329
--pkg-config-path ${PKGCONFIG_PATH} \
@@ -330,6 +338,7 @@ task:
330338

331339
test_world_script: |
332340
su postgres <<-EOF
341+
set -e
333342
ulimit -c unlimited
334343
# Otherwise tests will fail on OpenBSD, due to inability to start enough
335344
# processes.
@@ -344,7 +353,7 @@ task:
344353
# ${CORE_DUMP_DIR}, they may not obey this. So, move core files to the
345354
# ${CORE_DUMP_DIR} directory.
346355
find build/ -type f -name '*.core' -exec mv '{}' ${CORE_DUMP_DIR} \;
347-
src/tools/ci/cores_backtrace.sh ${OS_NAME} ${CORE_DUMP_DIR}
356+
src/tools/ci/cores_backtrace.sh ${OS_NAME} ${CORE_DUMP_DIR} ${CORE_DUMP_EXECUTABLE_DIR}
348357
349358
350359
# configure feature flags, shared between the task running the linux tests and
@@ -379,7 +388,7 @@ task:
379388
CPUS: 4
380389
BUILD_JOBS: 4
381390
TEST_JOBS: 8 # experimentally derived to be a decent choice
382-
IMAGE_FAMILY: pg-ci-bookworm
391+
IMAGE_FAMILY: pg-ci-trixie
383392

384393
CCACHE_DIR: /tmp/ccache_dir
385394
DEBUGINFOD_URLS: "https://debuginfod.debian.net"
@@ -400,16 +409,14 @@ task:
400409
# print_stacktraces=1,verbosity=2, duh
401410
# detect_leaks=0: too many uninteresting leak errors in short-lived binaries
402411
UBSAN_OPTIONS: print_stacktrace=1:disable_coredump=0:abort_on_error=1:verbosity=2
403-
ASAN_OPTIONS: print_stacktrace=1:disable_coredump=0:abort_on_error=1:detect_leaks=0
412+
ASAN_OPTIONS: print_stacktrace=1:disable_coredump=0:abort_on_error=1:detect_leaks=0:detect_stack_use_after_return=0
404413

405414
# SANITIZER_FLAGS is set in the tasks below
406415
CFLAGS: -Og -ggdb -fno-sanitize-recover=all $SANITIZER_FLAGS
407416
CXXFLAGS: $CFLAGS
408417
LDFLAGS: $SANITIZER_FLAGS
409418
CC: ccache gcc
410419
CXX: ccache g++
411-
# GCC emits a warning for llvm-14, so switch to a newer one.
412-
LLVM_CONFIG: llvm-config-16
413420

414421
LINUX_CONFIGURE_FEATURES: *LINUX_CONFIGURE_FEATURES
415422
LINUX_MESON_FEATURES: *LINUX_MESON_FEATURES
@@ -456,7 +463,7 @@ task:
456463
# - Uses address sanitizer, sanitizer failures are typically printed in
457464
# the server log
458465
# - Configures postgres with a small segment size
459-
- name: Linux - Debian Bookworm - Autoconf
466+
- name: Linux - Debian Trixie - Autoconf
460467

461468
env:
462469
SANITIZER_FLAGS: -fsanitize=address
@@ -470,6 +477,7 @@ task:
470477
# that.
471478
configure_script: |
472479
su postgres <<-EOF
480+
set -e
473481
./configure \
474482
--enable-cassert --enable-injection-points --enable-debug \
475483
--enable-tap-tests --enable-nls \
@@ -479,13 +487,14 @@ task:
479487
\
480488
${LINUX_CONFIGURE_FEATURES} \
481489
\
482-
CLANG="ccache clang-16"
490+
CLANG="ccache clang"
483491
EOF
484492
build_script: su postgres -c "make -s -j${BUILD_JOBS} world-bin"
485493
upload_caches: ccache
486494

487495
test_world_script: |
488496
su postgres <<-EOF
497+
set -e
489498
ulimit -c unlimited # default is 0
490499
make -s ${CHECK} ${CHECKFLAGS} -j${TEST_JOBS}
491500
EOF
@@ -498,7 +507,7 @@ task:
498507
# are typically printed in the server log
499508
# - Test both 64bit and 32 bit builds
500509
# - uses io_method=io_uring
501-
- name: Linux - Debian Bookworm - Meson
510+
- name: Linux - Debian Trixie - Meson
502511

503512
env:
504513
CCACHE_MAXSIZE: "400M" # tests two different builds
@@ -508,6 +517,7 @@ task:
508517
509518
configure_script: |
510519
su postgres <<-EOF
520+
set -e
511521
meson setup \
512522
--buildtype=debug \
513523
-Dcassert=true -Dinjection_points=true \
@@ -519,26 +529,29 @@ task:
519529
# locally.
520530
configure_32_script: |
521531
su postgres <<-EOF
532+
set -e
522533
export CC='ccache gcc -m32'
523534
meson setup \
524535
--buildtype=debug \
525536
-Dcassert=true -Dinjection_points=true \
526537
${LINUX_MESON_FEATURES} \
527538
-Dllvm=disabled \
528539
--pkg-config-path /usr/lib/i386-linux-gnu/pkgconfig/ \
529-
-DPERL=perl5.36-i386-linux-gnu \
540+
-DPERL=perl5.40-i386-linux-gnu \
530541
-Dlibnuma=disabled \
531542
build-32
532543
EOF
533544
534545
build_script: |
535546
su postgres <<-EOF
547+
set -e
536548
ninja -C build -j${BUILD_JOBS} ${MBUILD_TARGET}
537549
ninja -C build -t missingdeps
538550
EOF
539551
540552
build_32_script: |
541553
su postgres <<-EOF
554+
set -e
542555
ninja -C build-32 -j${BUILD_JOBS} ${MBUILD_TARGET}
543556
ninja -C build -t missingdeps
544557
EOF
@@ -547,6 +560,7 @@ task:
547560

548561
test_world_script: |
549562
su postgres <<-EOF
563+
set -e
550564
ulimit -c unlimited
551565
meson test $MTEST_ARGS --num-processes ${TEST_JOBS}
552566
EOF
@@ -559,6 +573,7 @@ task:
559573
# from C, prevent that with PYTHONCOERCECLOCALE.
560574
test_world_32_script: |
561575
su postgres <<-EOF
576+
set -e
562577
ulimit -c unlimited
563578
PYTHONCOERCECLOCALE=0 LANG=C meson test $MTEST_ARGS -C build-32 --num-processes ${TEST_JOBS}
564579
EOF
@@ -576,7 +591,7 @@ task:
576591
# SPECIAL:
577592
# - Enables --clone for pg_upgrade and pg_combinebackup
578593
task:
579-
name: macOS - Sonoma - Meson
594+
name: macOS - Sequoia - Meson
580595

581596
env:
582597
CPUS: 4 # always get that much for cirrusci macOS instances
@@ -585,7 +600,7 @@ task:
585600
# work OK. See
586601
# https://postgr.es/m/20220927040208.l3shfcidovpzqxfh%40awork3.anarazel.de
587602
TEST_JOBS: 8
588-
IMAGE: ghcr.io/cirruslabs/macos-runner:sonoma
603+
IMAGE: ghcr.io/cirruslabs/macos-runner:sequoia
589604

590605
CIRRUS_WORKING_DIR: ${HOME}/pgsql/
591606
CCACHE_DIR: ${HOME}/ccache
@@ -704,7 +719,7 @@ WINDOWS_ENVIRONMENT_BASE: &WINDOWS_ENVIRONMENT_BASE
704719
705720
706721
task:
707-
name: Windows - Server 2019, VS 2019 - Meson & ninja
722+
name: Windows - Server 2022, VS 2019 - Meson & ninja
708723
<< : *WINDOWS_ENVIRONMENT_BASE
709724

710725
env:
@@ -755,7 +770,7 @@ task:
755770

756771
task:
757772
<< : *WINDOWS_ENVIRONMENT_BASE
758-
name: Windows - Server 2019, MinGW64 - Meson
773+
name: Windows - Server 2022, MinGW64 - Meson
759774

760775
# See REPO_CI_AUTOMATIC_TRIGGER_TASKS in .cirrus.star.
761776
trigger_type: $CI_TRIGGER_TYPE_MINGW
@@ -822,7 +837,7 @@ task:
822837
env:
823838
CPUS: 4
824839
BUILD_JOBS: 4
825-
IMAGE_FAMILY: pg-ci-bookworm
840+
IMAGE_FAMILY: pg-ci-trixie
826841

827842
# Use larger ccache cache, as this task compiles with multiple compilers /
828843
# flag combinations
@@ -832,9 +847,6 @@ task:
832847
LINUX_CONFIGURE_FEATURES: *LINUX_CONFIGURE_FEATURES
833848
LINUX_MESON_FEATURES: *LINUX_MESON_FEATURES
834849

835-
# GCC emits a warning for llvm-14, so switch to a newer one.
836-
LLVM_CONFIG: llvm-config-16
837-
838850
<<: *linux_task_template
839851

840852
sysinfo_script: |
@@ -870,7 +882,7 @@ task:
870882
--cache gcc.cache \
871883
--enable-dtrace \
872884
${LINUX_CONFIGURE_FEATURES} \
873-
CC="ccache gcc" CXX="ccache g++" CLANG="ccache clang-16"
885+
CC="ccache gcc" CXX="ccache g++" CLANG="ccache clang"
874886
make -s -j${BUILD_JOBS} clean
875887
time make -s -j${BUILD_JOBS} world-bin
876888
@@ -881,7 +893,7 @@ task:
881893
--cache gcc.cache \
882894
--enable-cassert \
883895
${LINUX_CONFIGURE_FEATURES} \
884-
CC="ccache gcc" CXX="ccache g++" CLANG="ccache clang-16"
896+
CC="ccache gcc" CXX="ccache g++" CLANG="ccache clang"
885897
make -s -j${BUILD_JOBS} clean
886898
time make -s -j${BUILD_JOBS} world-bin
887899
@@ -891,7 +903,7 @@ task:
891903
time ./configure \
892904
--cache clang.cache \
893905
${LINUX_CONFIGURE_FEATURES} \
894-
CC="ccache clang" CXX="ccache clang++-16" CLANG="ccache clang-16"
906+
CC="ccache clang" CXX="ccache clang++" CLANG="ccache clang"
895907
make -s -j${BUILD_JOBS} clean
896908
time make -s -j${BUILD_JOBS} world-bin
897909
@@ -903,19 +915,19 @@ task:
903915
--enable-cassert \
904916
--enable-dtrace \
905917
${LINUX_CONFIGURE_FEATURES} \
906-
CC="ccache clang" CXX="ccache clang++-16" CLANG="ccache clang-16"
918+
CC="ccache clang" CXX="ccache clang++" CLANG="ccache clang"
907919
make -s -j${BUILD_JOBS} clean
908920
time make -s -j${BUILD_JOBS} world-bin
909921
910922
# cross-compile to windows
911923
always:
912924
mingw_cross_warning_script: |
913925
time ./configure \
914-
--host=x86_64-w64-mingw32 \
926+
--host=x86_64-w64-mingw32ucrt \
915927
--enable-cassert \
916928
--without-icu \
917-
CC="ccache x86_64-w64-mingw32-gcc" \
918-
CXX="ccache x86_64-w64-mingw32-g++"
929+
CC="ccache x86_64-w64-mingw32ucrt-gcc" \
930+
CXX="ccache x86_64-w64-mingw32ucrt-g++"
919931
make -s -j${BUILD_JOBS} clean
920932
time make -s -j${BUILD_JOBS} world-bin
921933
@@ -927,7 +939,7 @@ task:
927939
docs_build_script: |
928940
time ./configure \
929941
--cache gcc.cache \
930-
CC="ccache gcc" CXX="ccache g++" CLANG="ccache clang-16"
942+
CC="ccache gcc" CXX="ccache g++" CLANG="ccache clang"
931943
make -s -j${BUILD_JOBS} clean
932944
time make -s -j${BUILD_JOBS} -C doc
933945
@@ -943,7 +955,7 @@ task:
943955
time ./configure \
944956
${LINUX_CONFIGURE_FEATURES} \
945957
--quiet \
946-
CC="gcc" CXX"=g++" CLANG="clang-16"
958+
CC="gcc" CXX"=g++" CLANG="clang"
947959
make -s -j${BUILD_JOBS} clean
948960
time make -s headerscheck EXTRAFLAGS='-fmax-errors=10'
949961
headers_cpluspluscheck_script: |

.git-blame-ignore-revs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,9 @@
1414
#
1515
# $ git log --pretty=format:"%H # %cd%n# %s" $PGINDENTGITHASH -1 --date=iso
1616

17+
2795f5a5428fd292996fd155f16a57b0db3df8f4 # 2025-10-21 09:56:26 -0500
18+
# Re-pgindent brin.c.
19+
1720
17a5ca58eb119a33e81e57b72618236538932167 # 2025-09-13 14:50:02 -0500
1821
# Re-pgindent nbtpreprocesskeys.c after commit 796962922e.
1922

0 commit comments

Comments
 (0)