pgsql: ci: windows: Use the same image for VS and MinGW tasks

2024-06-03 Thread Andres Freund
ci: windows: Use the same image for VS and MinGW tasks The VS and MinGW Windows images have been merged, to reduce the space needed for images. Before 98811323c8e the split helped boot performance, but now that we are using VMs that doesn't appear to be the case anymore. Author: Nazir Bilal

pgsql: ci: windows: Use the same image for VS and MinGW tasks

2024-06-03 Thread Andres Freund
ci: windows: Use the same image for VS and MinGW tasks The VS and MinGW Windows images have been merged, to reduce the space needed for images. Before 98811323c8e the split helped boot performance, but now that we are using VMs that doesn't appear to be the case anymore. Author: Nazir Bilal

pgsql: ci: windows: Use the same image for VS and MinGW tasks

2024-06-03 Thread Andres Freund
ci: windows: Use the same image for VS and MinGW tasks The VS and MinGW Windows images have been merged, to reduce the space needed for images. Before 98811323c8e the split helped boot performance, but now that we are using VMs that doesn't appear to be the case anymore. Author: Nazir Bilal

pgsql: Avoid unnecessary "touch meson.build" in vpath builds

2024-04-25 Thread Andres Freund
Avoid unnecessary "touch meson.build" in vpath builds In e6927270cd1 I added a 'touch meson.build' to configure.ac, to ensure conflicts between in-tree configure based builds and meson builds are automatically detected. Unfortunately I omitted spaces around the condition restricting this to

pgsql: Avoid unnecessary "touch meson.build" in vpath builds

2024-04-25 Thread Andres Freund
Avoid unnecessary "touch meson.build" in vpath builds In e6927270cd1 I added a 'touch meson.build' to configure.ac, to ensure conflicts between in-tree configure based builds and meson builds are automatically detected. Unfortunately I omitted spaces around the condition restricting this to

pgsql: Remove GlobalVisTestNonRemovable[Full]Horizon, not used anymore

2024-04-17 Thread Andres Freund
Remove GlobalVisTestNonRemovable[Full]Horizon, not used anymore GlobalVisTestNonRemovableHorizon() was only used for the implementation of snapshot_too_old, which was removed in f691f5b80a8. As using GlobalVisTestNonRemovableHorizon() is not particularly efficient, no new uses for it should be

Re: pgsql: Teach radix tree to embed values at runtime

2024-04-08 Thread Andres Freund
Hi, On 2024-04-08 11:57:01 +, John Naylor wrote: > Teach radix tree to embed values at runtime > > Previously, the decision to store values in leaves or within the child > pointer was made at compile time, with variable length values using > leaves by necessity. This commit allows

pgsql: Remove references to old function name

2024-04-07 Thread Andres Freund
Remove references to old function name In a97bbe1f1df I accidentally referenced heapgetpage(), both in a function name and a comment. But since 44086b09753 the relevant function is named heap_prepare_pagescan(). Rename the new function to page_collect_tuples(). Reported-by: Melanie Plageman

pgsql: simplehash: Free collisions array in SH_STAT

2024-04-07 Thread Andres Freund
simplehash: Free collisions array in SH_STAT While SH_STAT() is only used for debugging, the allocated array can be large, and therefore should be freed. It's unclear why coverity started warning now. Reported-by: Tom Lane Reported-by: Coverity Discussion:

pgsql: simplehash: Free collisions array in SH_STAT

2024-04-07 Thread Andres Freund
simplehash: Free collisions array in SH_STAT While SH_STAT() is only used for debugging, the allocated array can be large, and therefore should be freed. It's unclear why coverity started warning now. Reported-by: Tom Lane Reported-by: Coverity Discussion:

pgsql: simplehash: Free collisions array in SH_STAT

2024-04-07 Thread Andres Freund
simplehash: Free collisions array in SH_STAT While SH_STAT() is only used for debugging, the allocated array can be large, and therefore should be freed. It's unclear why coverity started warning now. Reported-by: Tom Lane Reported-by: Coverity Discussion:

pgsql: simplehash: Free collisions array in SH_STAT

2024-04-07 Thread Andres Freund
simplehash: Free collisions array in SH_STAT While SH_STAT() is only used for debugging, the allocated array can be large, and therefore should be freed. It's unclear why coverity started warning now. Reported-by: Tom Lane Reported-by: Coverity Discussion:

pgsql: simplehash: Free collisions array in SH_STAT

2024-04-07 Thread Andres Freund
simplehash: Free collisions array in SH_STAT While SH_STAT() is only used for debugging, the allocated array can be large, and therefore should be freed. It's unclear why coverity started warning now. Reported-by: Tom Lane Reported-by: Coverity Discussion:

pgsql: simplehash: Free collisions array in SH_STAT

2024-04-07 Thread Andres Freund
simplehash: Free collisions array in SH_STAT While SH_STAT() is only used for debugging, the allocated array can be large, and therefore should be freed. It's unclear why coverity started warning now. Reported-by: Tom Lane Reported-by: Coverity Discussion:

Re: pgsql: Send ALPN in TLS handshake, require it in direct SSL connections

2024-04-07 Thread Andres Freund
^~ [991/992 1 99%] Linking target src/bin/pg_dump/pg_dump And I think it may show why the warning is a good idea - I assume "*outlen <= 0" was intended? Greetings, Andres Freund

Re: pgsql: Use bump memory context for tuplesorts

2024-04-07 Thread Andres Freund
Hi, On 2024-04-07 13:52:28 -0400, Tom Lane wrote: > Melanie Plageman writes: > > Looks like this assert is tripping on grison [1]. > > > running bootstrap script ... TRAP: failed Assert("total_allocated == > > context->mem_allocated"), File: "bump.c", Line: 808, PID: 30248 > > The same on mamba.

Re: pgsql: Reduce branches in heapgetpage()'s per-tuple loop

2024-04-07 Thread Andres Freund
Hi, On 2024-04-07 09:14:57 -0400, Melanie Plageman wrote: > On Sun, Apr 7, 2024 at 3:29 AM Andres Freund wrote: > > > > Reduce branches in heapgetpage()'s per-tuple loop > > > > Until now, heapgetpage()'s loop over all tuples performed some conditional > > c

pgsql: Reduce branches in heapgetpage()'s per-tuple loop

2024-04-07 Thread Andres Freund
Reduce branches in heapgetpage()'s per-tuple loop Until now, heapgetpage()'s loop over all tuples performed some conditional checks for each tuple, even though condition did not change across the loop. This commit fixes that by moving the loop into an inline function. By calling it with

pgsql: Fix headerscheck violation introduced in f8ce4ed78ca

2024-04-05 Thread Andres Freund
Fix headerscheck violation introduced in f8ce4ed78ca Per ci. Branch -- master Details --- https://git.postgresql.org/pg/commitdiff/9e7386924e837aef8d48895cf72a6a0b7f78cbe9 Modified Files -- src/bin/pg_combinebackup/reconstruct.h | 1 + 1 file changed, 1 insertion(+)

pgsql: Avoid edge case in pg_visibility test with small shared_buffers

2024-03-25 Thread Andres Freund
Avoid edge case in pg_visibility test with small shared_buffers Since 82a4edabd27 we can bulk extend relations. The bulk relation extension logic has a heuristic component. Normally the heurstic does not trigger in the occasionally-failing test case, as the relation is only extended once. But

pgsql: Avoid edge case in pg_visibility test with small shared_buffers

2024-03-25 Thread Andres Freund
Avoid edge case in pg_visibility test with small shared_buffers Since 82a4edabd27 we can bulk extend relations. The bulk relation extension logic has a heuristic component. Normally the heurstic does not trigger in the occasionally-failing test case, as the relation is only extended once. But

pgsql: ci: macos: Choose python version

2024-03-25 Thread Andres Freund
ci: macos: Choose python version The CI base image used to have a python3 with headers etc installed in PATH, but doesn't anymore. Instead of relying on a specific version in the base image, explicitly install one ourselves. On 16 and HEAD this lead to a build without python support, but on 15

pgsql: ci: macos: Choose python version

2024-03-25 Thread Andres Freund
ci: macos: Choose python version The CI base image used to have a python3 with headers etc installed in PATH, but doesn't anymore. Instead of relying on a specific version in the base image, explicitly install one ourselves. On 16 and HEAD this lead to a build without python support, but on 15

pgsql: ci: macos: Choose python version

2024-03-25 Thread Andres Freund
ci: macos: Choose python version The CI base image used to have a python3 with headers etc installed in PATH, but doesn't anymore. Instead of relying on a specific version in the base image, explicitly install one ourselves. On 16 and HEAD this lead to a build without python support, but on 15

pgsql: meson: macos: Avoid warnings on Sonoma

2024-03-13 Thread Andres Freund
meson: macos: Avoid warnings on Sonoma Starting with the Sonoma toolchain macos' linker emits warnings when the same library is linked to twice. That's ill considered, as the same library can be used by multiple subsidiary libraries. Luckily there's a flag to suppress that warning. On Ventura

pgsql: meson: macos: Avoid warnings on Sonoma

2024-03-13 Thread Andres Freund
meson: macos: Avoid warnings on Sonoma Starting with the Sonoma toolchain macos' linker emits warnings when the same library is linked to twice. That's ill considered, as the same library can be used by multiple subsidiary libraries. Luckily there's a flag to suppress that warning. On Ventura

Re: pgsql: meson: docs: Add {html,man} targets, rename install-doc-*

2023-12-01 Thread Andres Freund
Hi, On 2023-12-01 09:04:19 -0500, Andrew Dunstan wrote: > On 2023-11-29 We 07:20, Andrew Dunstan wrote: > > On 2023-11-28 Tu 21:28, Andres Freund wrote: > > > On 2023-11-23 08:32:21 -0500, Andrew Dunstan wrote: > > > > On 2023-11-20 Mo 20:53, Andres Freund wrote: &g

pgsql: meson: Stop using deprecated way getting path of files

2023-11-30 Thread Andres Freund
meson: Stop using deprecated way getting path of files The just released meson 1.3 strongly deprecated a hack we were using, emitting a noisy warning (the hack basically depended on an implementation detail to work). Turns out there has been a better way available for a while, I just hadn't found

pgsql: meson: Stop using deprecated way getting path of files

2023-11-30 Thread Andres Freund
meson: Stop using deprecated way getting path of files The just released meson 1.3 strongly deprecated a hack we were using, emitting a noisy warning (the hack basically depended on an implementation detail to work). Turns out there has been a better way available for a while, I just hadn't found

Re: pgsql: meson: docs: Add {html,man} targets, rename install-doc-*

2023-11-29 Thread Andres Freund
Hi, On 2023-11-29 10:05:26 -0500, Andrew Dunstan wrote: > On 2023-11-29 We 08:49, Tom Lane wrote: > > Andrew Dunstan writes: > > > On 2023-11-28 Tu 21:28, Andres Freund wrote: > > > > I don't really understand why meson compile complains in this case. I > &g

Re: pgsql: meson: docs: Add {html,man} targets, rename install-doc-*

2023-11-28 Thread Andres Freund
Hi, On 2023-11-23 08:32:21 -0500, Andrew Dunstan wrote: > On 2023-11-20 Mo 20:53, Andres Freund wrote: > > meson: docs: Add {html,man} targets, rename install-doc-* > > > > We have toplevel html, man targets in the autoconf build as well. It'd be > > odd > >

pgsql: meson: Document build targets, add 'help' target

2023-11-20 Thread Andres Freund
meson: Document build targets, add 'help' target Currently important build targets are somewhat hard to discover. This commit documents important meson build targets in the sgml documentation. But it's awkward to have to lookup build targets in the docs when hacking, so this also adds a 'help'

pgsql: docs: meson: Change what 'docs' target builds

2023-11-20 Thread Andres Freund
docs: meson: Change what 'docs' target builds This undoes the change in what the 'docs' target builds 969509c3f2e. Tom was concerned with having a target to just build the html docs, which a prior commit now provided explicitly. A subsequent commit will overhaul the documentation for the

pgsql: meson: Add 'world' target

2023-11-20 Thread Andres Freund
meson: Add 'world' target We have this for make as well. Reviewed-by: Peter Eisentraut Discussion: https://postgr.es/m/20231103163848.26egkh5qdgw3v...@awork3.anarazel.de Branch -- master Details --- https://git.postgresql.org/pg/commitdiff/6614cfb43c8281feef5c4563ddc36ab04914014e

pgsql: meson: docs: Add {html,man} targets, rename install-doc-*

2023-11-20 Thread Andres Freund
meson: docs: Add {html,man} targets, rename install-doc-* We have toplevel html, man targets in the autoconf build as well. It'd be odd to have an 'html' target but have the install target be 'install-doc-html', thus rename the install targets to match. Reviewed-by: Christoph Berg Reviewed-by:

pgsql: meson: Fix missing dependency from install-quiet to sepgsql.sql

2023-11-17 Thread Andres Freund
meson: Fix missing dependency from install-quiet to sepgsql.sql This could lead to an error like ERROR: File 'contrib/sepgsql/sepgsql.sql' could not be found Backpatch: 16-, where meson was added Branch -- master Details ---

pgsql: meson: Fix missing dependency from install-quiet to sepgsql.sql

2023-11-17 Thread Andres Freund
meson: Fix missing dependency from install-quiet to sepgsql.sql This could lead to an error like ERROR: File 'contrib/sepgsql/sepgsql.sql' could not be found Backpatch: 16-, where meson was added Branch -- REL_16_STABLE Details ---

Re: pgsql: docs: Document --with-selinux/-Dselinux options centrally

2023-11-17 Thread Andres Freund
Hi, On 2023-11-17 13:23:54 -0800, Andres Freund wrote: > On 2023-11-17 15:49:52 -0500, Tom Lane wrote: > > Andres Freund writes: > > > docs: Document --with-selinux/-Dselinux options centrally > > > > This appears to have broken building th

pgsql: docs: Fix standalone INSTALL, broken in 06c70849fb2

2023-11-17 Thread Andres Freund
docs: Fix standalone INSTALL, broken in 06c70849fb2 We should probably check that INSTALL can be generated in CI. Reported-by: Tom Lane Discussion: https://postgr.es/m/795075.1700254...@sss.pgh.pa.us Branch -- master Details ---

Re: pgsql: docs: Document --with-selinux/-Dselinux options centrally

2023-11-17 Thread Andres Freund
Hi, On 2023-11-17 15:49:52 -0500, Tom Lane wrote: > Andres Freund writes: > > docs: Document --with-selinux/-Dselinux options centrally > > This appears to have broken building the INSTALL file: > > https://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=guaibasaurus=2023

pgsql: Release lock on heap buffer before vacuuming FSM

2023-11-17 Thread Andres Freund
, making it not worth the risk of backpatching. Author: Melanie Plageman Reviewed-by: Andres Freund Discussion: https://postgr.es/m/CAAKRu_YiL%3D44GvGnt1dpYouDSSoV7wzxVoXs8m3p311rp-TVQQ%40mail.gmail.com Branch -- master Details --- https://git.postgresql.org/pg/commitdiff

pgsql: docs: Document --with-selinux/-Dselinux options centrally

2023-11-17 Thread Andres Freund
docs: Document --with-selinux/-Dselinux options centrally Previously --with-selinux was documented only in the in the sepgsql documentation and there was no corresponding documentation for meson. There are further improvements that could be made, but this change seems worthwhile even on its own.

pgsql: meson: Change default of 'selinux' feature option to auto

2023-11-17 Thread Andres Freund
meson: Change default of 'selinux' feature option to auto There is really no reason for selinux to behave differently than other options. Reviewed-by: Peter Eisentraut Discussion: https://postgr.es/m/20231103211601.bgqx3cfq6pz2l...@awork3.anarazel.de Branch -- master Details ---

pgsql: meson: docs: Install all manpages, not just ones in man1

2023-11-03 Thread Andres Freund
meson: docs: Install all manpages, not just ones in man1 In f13eb16485f I made a mistake leading to only man1 being installed. I will report a bug suggesting that meson warn about mistakes of this sort. Reported-by: Christoph Berg Discussion: https://postgr.es/m/zuu5prqo6zueb...@msg.df7cb.de

pgsql: meson: docs: Install all manpages, not just ones in man1

2023-11-03 Thread Andres Freund
meson: docs: Install all manpages, not just ones in man1 In f13eb16485f I made a mistake leading to only man1 being installed. I will report a bug suggesting that meson warn about mistakes of this sort. Reported-by: Christoph Berg Discussion: https://postgr.es/m/zuu5prqo6zueb...@msg.df7cb.de

pgsql: meson: Make detection of python more robust

2023-10-20 Thread Andres Freund
meson: Make detection of python more robust Previously we errored out if no python installation could be found (but we did handle not having enough of python installed to build plpython against). Presumably nobody hit this so far, as python is likely installed due to meson requiring python.

pgsql: meson: Make detection of python more robust

2023-10-20 Thread Andres Freund
meson: Make detection of python more robust Previously we errored out if no python installation could be found (but we did handle not having enough of python installed to build plpython against). Presumably nobody hit this so far, as python is likely installed due to meson requiring python.

pgsql: Fix bulk table extension when copying into multiple partitions

2023-10-13 Thread Andres Freund
lations. Add a test that, without the fix, reproduces #18130 in most configurations. The test also catches the problem fixed in b1ecb9b3fcf when run with small shared_buffers. Reported-by: Ivan Kolombet Analyzed-by: Tom Lane Analyzed-by: Andres Freund Bug: #18130 Discussion: https://post

pgsql: Fix bulk table extension when copying into multiple partitions

2023-10-13 Thread Andres Freund
lations. Add a test that, without the fix, reproduces #18130 in most configurations. The test also catches the problem fixed in b1ecb9b3fcf when run with small shared_buffers. Reported-by: Ivan Kolombet Analyzed-by: Tom Lane Analyzed-by: Andres Freund Bug: #18130 Discussion: https://post

pgsql: meson: macos: Correct -exported_symbols_list syntax for Sonoma c

2023-09-30 Thread Andres Freund
meson: macos: Correct -exported_symbols_list syntax for Sonoma compat -exported_symbols_list=... works on Ventura and earlier, but not on Sonoma. The easiest way to fix it is to -Wl,-exported_symbols_list,@0@ which actually seems more appropriate anyway, it's obviously a linker argument. It is

pgsql: meson: macos: Correct -exported_symbols_list syntax for Sonoma c

2023-09-30 Thread Andres Freund
meson: macos: Correct -exported_symbols_list syntax for Sonoma compat -exported_symbols_list=... works on Ventura and earlier, but not on Sonoma. The easiest way to fix it is to -Wl,-exported_symbols_list,@0@ which actually seems more appropriate anyway, it's obviously a linker argument. It is

pgsql: pg_dump: tests: Correct test condition for invalid databases

2023-09-25 Thread Andres Freund
pg_dump: tests: Correct test condition for invalid databases For some reason I used not_like = { pg_dumpall_dbprivs => 1, } in the test condition of one of the tests added in in c66a7d75e65. That doesn't make sense for two reasons: 1) not_like isn't a valid test condition 2) the database should

pgsql: pg_dump: tests: Correct test condition for invalid databases

2023-09-25 Thread Andres Freund
pg_dump: tests: Correct test condition for invalid databases For some reason I used not_like = { pg_dumpall_dbprivs => 1, } in the test condition of one of the tests added in in c66a7d75e65. That doesn't make sense for two reasons: 1) not_like isn't a valid test condition 2) the database should

pgsql: pg_dump: tests: Correct test condition for invalid databases

2023-09-25 Thread Andres Freund
pg_dump: tests: Correct test condition for invalid databases For some reason I used not_like = { pg_dumpall_dbprivs => 1, } in the test condition of one of the tests added in in c66a7d75e65. That doesn't make sense for two reasons: 1) not_like isn't a valid test condition 2) the database should

pgsql: pg_dump: tests: Correct test condition for invalid databases

2023-09-25 Thread Andres Freund
pg_dump: tests: Correct test condition for invalid databases For some reason I used not_like = { pg_dumpall_dbprivs => 1, } in the test condition of one of the tests added in in c66a7d75e65. That doesn't make sense for two reasons: 1) not_like isn't a valid test condition 2) the database should

pgsql: pg_dump: tests: Correct test condition for invalid databases

2023-09-25 Thread Andres Freund
pg_dump: tests: Correct test condition for invalid databases For some reason I used not_like = { pg_dumpall_dbprivs => 1, } in the test condition of one of the tests added in in c66a7d75e65. That doesn't make sense for two reasons: 1) not_like isn't a valid test condition 2) the database should

pgsql: pg_dump: tests: Correct test condition for invalid databases

2023-09-25 Thread Andres Freund
pg_dump: tests: Correct test condition for invalid databases For some reason I used not_like = { pg_dumpall_dbprivs => 1, } in the test condition of one of the tests added in in c66a7d75e65. That doesn't make sense for two reasons: 1) not_like isn't a valid test condition 2) the database should

pgsql: pg_dump: tests: Correct test condition for invalid databases

2023-09-25 Thread Andres Freund
pg_dump: tests: Correct test condition for invalid databases For some reason I used not_like = { pg_dumpall_dbprivs => 1, } in the test condition of one of the tests added in in c66a7d75e65. That doesn't make sense for two reasons: 1) not_like isn't a valid test condition 2) the database should

pgsql: docs: Clarify --with-segsize-blocks documentation

2023-09-25 Thread Andres Freund
docs: Clarify --with-segsize-blocks documentation Without the added "relation" it's not immediately clear that the option relates to the relation segment size and not e.g. the WAL segment size. The option was added in d3b111e32. Reported-by: Tom Lane Discussion:

pgsql: docs: Clarify --with-segsize-blocks documentation

2023-09-25 Thread Andres Freund
docs: Clarify --with-segsize-blocks documentation Without the added "relation" it's not immediately clear that the option relates to the relation segment size and not e.g. the WAL segment size. The option was added in d3b111e32. Reported-by: Tom Lane Discussion:

pgsql: Fix tracking of temp table relation extensions as writes

2023-09-13 Thread Andres Freund
) and pg_stat_statements. Thus this commit adds tests for this to pg_stat_statements. Reported-by: Karina Litskevich Author: Karina Litskevich Author: Andres Freund Discussion: https://postgr.es/m/cacit8ibxxa6+0amgikbefhm8b84xdqvo6d0qfd1pq1s8zps...@mail.gmail.com Backpatch: 16-, where fcdda1e4b5 was merged

pgsql: Fix tracking of temp table relation extensions as writes

2023-09-13 Thread Andres Freund
) and pg_stat_statements. Thus this commit adds tests for this to pg_stat_statements. Reported-by: Karina Litskevich Author: Karina Litskevich Author: Andres Freund Discussion: https://postgr.es/m/cacit8ibxxa6+0amgikbefhm8b84xdqvo6d0qfd1pq1s8zps...@mail.gmail.com Backpatch: 16-, where fcdda1e4b5 was merged

pgsql: Avoid non-POSIX cp flags

2023-08-25 Thread Andres Freund
Avoid non-POSIX cp flags Commit 252dcb32 used cp -a, but apparently Solaris doesn't like that. Use cp -RPp instead. Author: Thomas Munro Reviewed-by: Daniel Gustafsson Discussion: https://postgr.es/m/ca+hukgl10aoqvmmqgoj8ctjoz9mlidd8ik2e8pibzlnmz0+...@mail.gmail.com Branch -- master

pgsql: Use "template" data directory in tests

2023-08-24 Thread Andres Freund
Use "template" data directory in tests When running all (or just many) of our tests, a significant portion of both CPU time and IO is spent running initdb. Most of those initdb runs don't specify any options influencing properties of the created data directory. Avoid most of that overhead by

pgsql: ci: Make compute resources for CI configurable

2023-08-23 Thread Andres Freund
ci: Make compute resources for CI configurable See prior commit for an explanation for the goal of the change and why it had to be split into two commits. Reviewed-by: Daniel Gustafsson Reviewed-by: Nazir Bilal Yavuz Discussion:

pgsql: ci: Prepare to make compute resources for CI configurable

2023-08-23 Thread Andres Freund
ci: Prepare to make compute resources for CI configurable cirrus-ci will soon restrict the amount of free resources every user gets (as have many other CI providers). For most users of CI that should not be an issue. But e.g. for cfbot it will be an issue. To allow configuring different

pgsql: ci: Prepare to make compute resources for CI configurable

2023-08-23 Thread Andres Freund
ci: Prepare to make compute resources for CI configurable cirrus-ci will soon restrict the amount of free resources every user gets (as have many other CI providers). For most users of CI that should not be an issue. But e.g. for cfbot it will be an issue. To allow configuring different

pgsql: ci: Make compute resources for CI configurable

2023-08-23 Thread Andres Freund
ci: Make compute resources for CI configurable See prior commit for an explanation for the goal of the change and why it had to be split into two commits. Reviewed-by: Daniel Gustafsson Reviewed-by: Nazir Bilal Yavuz Discussion:

pgsql: ci: Prepare to make compute resources for CI configurable

2023-08-23 Thread Andres Freund
ci: Prepare to make compute resources for CI configurable cirrus-ci will soon restrict the amount of free resources every user gets (as have many other CI providers). For most users of CI that should not be an issue. But e.g. for cfbot it will be an issue. To allow configuring different

pgsql: ci: Make compute resources for CI configurable

2023-08-23 Thread Andres Freund
ci: Make compute resources for CI configurable See prior commit for an explanation for the goal of the change and why it had to be split into two commits. Reviewed-by: Daniel Gustafsson Reviewed-by: Nazir Bilal Yavuz Discussion:

pgsql: ci: Move execution method of tasks into yaml templates

2023-08-23 Thread Andres Freund
ci: Move execution method of tasks into yaml templates This is done in preparation for making the compute resources for CI configurable. It also looks cleaner. Reviewed-by: Daniel Gustafsson Discussion: https://postgr.es/m/20230808021541.7lbzdefvma7qm...@awork3.anarazel.de Backpatch: 15-,

pgsql: ci: Don't specify amount of memory

2023-08-23 Thread Andres Freund
ci: Don't specify amount of memory The number of CPUs is the cost-determining factor. Most instance types that run tests have more memory/core than what we specified, there's no real benefit in wasting that. Reviewed-by: Daniel Gustafsson Discussion:

pgsql: ci: Don't specify amount of memory

2023-08-23 Thread Andres Freund
ci: Don't specify amount of memory The number of CPUs is the cost-determining factor. Most instance types that run tests have more memory/core than what we specified, there's no real benefit in wasting that. Reviewed-by: Daniel Gustafsson Discussion:

pgsql: ci: Use VMs for SanityCheck and CompilerWarnings

2023-08-23 Thread Andres Freund
ci: Use VMs for SanityCheck and CompilerWarnings The main reason for this change is to reduce different ways of executing tasks, making it easier to use custom compute resources for cfbot. A secondary benefit is that the tasks seem slightly faster this way, apparently the increased startup

pgsql: ci: Don't specify amount of memory

2023-08-23 Thread Andres Freund
ci: Don't specify amount of memory The number of CPUs is the cost-determining factor. Most instance types that run tests have more memory/core than what we specified, there's no real benefit in wasting that. Reviewed-by: Daniel Gustafsson Discussion:

pgsql: ci: Use VMs for SanityCheck and CompilerWarnings

2023-08-23 Thread Andres Freund
ci: Use VMs for SanityCheck and CompilerWarnings The main reason for this change is to reduce different ways of executing tasks, making it easier to use custom compute resources for cfbot. A secondary benefit is that the tasks seem slightly faster this way, apparently the increased startup

pgsql: ci: Move execution method of tasks into yaml templates

2023-08-23 Thread Andres Freund
ci: Move execution method of tasks into yaml templates This is done in preparation for making the compute resources for CI configurable. It also looks cleaner. Reviewed-by: Daniel Gustafsson Discussion: https://postgr.es/m/20230808021541.7lbzdefvma7qm...@awork3.anarazel.de Backpatch: 15-,

pgsql: ci: Use VMs for SanityCheck and CompilerWarnings

2023-08-23 Thread Andres Freund
ci: Use VMs for SanityCheck and CompilerWarnings The main reason for this change is to reduce different ways of executing tasks, making it easier to use custom compute resources for cfbot. A secondary benefit is that the tasks seem slightly faster this way, apparently the increased startup

pgsql: ci: Move execution method of tasks into yaml templates

2023-08-23 Thread Andres Freund
ci: Move execution method of tasks into yaml templates This is done in preparation for making the compute resources for CI configurable. It also looks cleaner. Reviewed-by: Daniel Gustafsson Discussion: https://postgr.es/m/20230808021541.7lbzdefvma7qm...@awork3.anarazel.de Backpatch: 15-,

pgsql: ci: macos: use cached macports install

2023-08-19 Thread Andres Freund
ci: macos: use cached macports install A significant chunk of the time on the macos CI task is spent installing packages using homebrew. The downloads of the packages are cached, but the installation needs to happen every time. We can't cache the whole homebrew installation, because it is too

pgsql: ci: macos: use cached macports install

2023-08-19 Thread Andres Freund
ci: macos: use cached macports install A significant chunk of the time on the macos CI task is spent installing packages using homebrew. The downloads of the packages are cached, but the installation needs to happen every time. We can't cache the whole homebrew installation, because it is too

pgsql: ci: macos: use cached macports install

2023-08-19 Thread Andres Freund
ci: macos: use cached macports install A significant chunk of the time on the macos CI task is spent installing packages using homebrew. The downloads of the packages are cached, but the installation needs to happen every time. We can't cache the whole homebrew installation, because it is too

pgsql: hio: Take number of prior relation extensions into account

2023-08-14 Thread Andres Freund
the aforementioned slowdown, but also leads to noticeable performance gains in other situations, primarily due to extending more aggressively when there is no concurrency. I should have done it this way from the get go. Reported-by: Masahiko Sawada Author: Andres Freund Discussion: https://postgr.es/m

pgsql: hio: Take number of prior relation extensions into account

2023-08-14 Thread Andres Freund
the aforementioned slowdown, but also leads to noticeable performance gains in other situations, primarily due to extending more aggressively when there is no concurrency. I should have done it this way from the get go. Reported-by: Masahiko Sawada Author: Andres Freund Discussion: https://postgr.es/m

pgsql: ci: macos: Remove use of -Dsegsize_blocks=6

2023-08-12 Thread Andres Freund
a comment explaining why we use a small segment size for CI. Author: Andres Freund Reviewed-by: Heikki Linnakangas Discussion: https://postgr.es/m/20230808021541.7lbzdefvma7qm...@awork3.anarazel.de Backpatch: 16-, where d3b111e3205 introduced the use of -Dsegsize_blocks=6 Branch -- master Details

pgsql: ci: macos: Remove use of -Dsegsize_blocks=6

2023-08-12 Thread Andres Freund
a comment explaining why we use a small segment size for CI. Author: Andres Freund Reviewed-by: Heikki Linnakangas Discussion: https://postgr.es/m/20230808021541.7lbzdefvma7qm...@awork3.anarazel.de Backpatch: 16-, where d3b111e3205 introduced the use of -Dsegsize_blocks=6 Branch -- REL_16_STABLE

pgsql: ci: macos: Remove use of -DRANDOMIZE_ALLOCATED_MEMORY

2023-08-12 Thread Andres Freund
of uninitialized memory, so it doesn't really seem worth using -DRANDOMIZE_ALLOCATED_MEMORY in another instance type. Author: Andres Freund Reviewed-by: Heikki Linnakangas Discussion: https://postgr.es/m/20230808021541.7lbzdefvma7qm...@awork3.anarazel.de Backpatch: 16-, where 89d16b635 added the use

pgsql: ci: macos: Remove use of -DRANDOMIZE_ALLOCATED_MEMORY

2023-08-12 Thread Andres Freund
of uninitialized memory, so it doesn't really seem worth using -DRANDOMIZE_ALLOCATED_MEMORY in another instance type. Author: Andres Freund Reviewed-by: Heikki Linnakangas Discussion: https://postgr.es/m/20230808021541.7lbzdefvma7qm...@awork3.anarazel.de Backpatch: 16-, where 89d16b635 added the use

pgsql: Fix pg_stat_io buffer reuse test instability

2023-08-01 Thread Andres Freund
Fix pg_stat_io buffer reuse test instability The stats regression test attempts to ensure that Buffer Access Strategy "reuses" are being counted in pg_stat_io by vacuuming a table which is larger than the size of the strategy ring. However, when shared buffers are in sufficiently high demand,

pgsql: Fix pg_stat_io buffer reuse test instability

2023-08-01 Thread Andres Freund
Fix pg_stat_io buffer reuse test instability The stats regression test attempts to ensure that Buffer Access Strategy "reuses" are being counted in pg_stat_io by vacuuming a table which is larger than the size of the strategy ring. However, when shared buffers are in sufficiently high demand,

pgsql: Fix off-by-one in LimitAdditionalPins()

2023-07-24 Thread Andres Freund
Fix off-by-one in LimitAdditionalPins() Due to the bug LimitAdditionalPins() could return 0, violating LimitAdditionalPins()'s API ("One additional pin is always allowed"). This could be hit when setting shared_buffers very low and using a fair amount of concurrency. This bug was introduced in

pgsql: Fix off-by-one in LimitAdditionalPins()

2023-07-24 Thread Andres Freund
Fix off-by-one in LimitAdditionalPins() Due to the bug LimitAdditionalPins() could return 0, violating LimitAdditionalPins()'s API ("One additional pin is always allowed"). This could be hit when setting shared_buffers very low and using a fair amount of concurrency. This bug was introduced in

pgsql: Release lock after encountering bogs row in vac_truncate_clog()

2023-07-13 Thread Andres Freund
Release lock after encountering bogs row in vac_truncate_clog() When vac_truncate_clog() encounters bogus datfrozenxid / datminmxid values, it returns early. Unfortunately, until now, it did not release WrapLimitsVacuumLock. If the backend later tries to acquire WrapLimitsVacuumLock, the session

pgsql: Release lock after encountering bogs row in vac_truncate_clog()

2023-07-13 Thread Andres Freund
Release lock after encountering bogs row in vac_truncate_clog() When vac_truncate_clog() encounters bogus datfrozenxid / datminmxid values, it returns early. Unfortunately, until now, it did not release WrapLimitsVacuumLock. If the backend later tries to acquire WrapLimitsVacuumLock, the session

pgsql: Handle DROP DATABASE getting interrupted

2023-07-13 Thread Andres Freund
is handled correctly in the backend and in various tools. Reported-by: Evgeny Morozov Author: Andres Freund Reviewed-by: Daniel Gustafsson Reviewed-by: Thomas Munro Discussion: https://postgr.es/m/20230509004637.cgvmfwrbht7xm...@awork3.anarazel.de Discussion: https://postgr.es/m

pgsql: Handle DROP DATABASE getting interrupted

2023-07-13 Thread Andres Freund
is handled correctly in the backend and in various tools. Reported-by: Evgeny Morozov Author: Andres Freund Reviewed-by: Daniel Gustafsson Reviewed-by: Thomas Munro Discussion: https://postgr.es/m/20230509004637.cgvmfwrbht7xm...@awork3.anarazel.de Discussion: https://postgr.es/m

pgsql: Handle DROP DATABASE getting interrupted

2023-07-13 Thread Andres Freund
is handled correctly in the backend and in various tools. Reported-by: Evgeny Morozov Author: Andres Freund Reviewed-by: Daniel Gustafsson Reviewed-by: Thomas Munro Discussion: https://postgr.es/m/20230509004637.cgvmfwrbht7xm...@awork3.anarazel.de Discussion: https://postgr.es/m

pgsql: Release lock after encountering bogs row in vac_truncate_clog()

2023-07-13 Thread Andres Freund
Release lock after encountering bogs row in vac_truncate_clog() When vac_truncate_clog() encounters bogus datfrozenxid / datminmxid values, it returns early. Unfortunately, until now, it did not release WrapLimitsVacuumLock. If the backend later tries to acquire WrapLimitsVacuumLock, the session

pgsql: Handle DROP DATABASE getting interrupted

2023-07-13 Thread Andres Freund
is handled correctly in the backend and in various tools. Reported-by: Evgeny Morozov Author: Andres Freund Reviewed-by: Daniel Gustafsson Reviewed-by: Thomas Munro Discussion: https://postgr.es/m/20230509004637.cgvmfwrbht7xm...@awork3.anarazel.de Discussion: https://postgr.es/m

pgsql: Release lock after encountering bogs row in vac_truncate_clog()

2023-07-13 Thread Andres Freund
Release lock after encountering bogs row in vac_truncate_clog() When vac_truncate_clog() encounters bogus datfrozenxid / datminmxid values, it returns early. Unfortunately, until now, it did not release WrapLimitsVacuumLock. If the backend later tries to acquire WrapLimitsVacuumLock, the session

  1   2   3   4   5   6   7   8   9   10   >