lastOverflowedXid does not handle transaction ID wraparound

2021-10-12 Thread Stan Hu
In a blog post (https://about.gitlab.com/blog/2021/09/29/why-we-spent-the-last-month-eliminating-postgresql-subtransactions/), I described how PostgreSQL can enter into a suboverflow condition on the replica under a number of conditions: 1. A long transaction starts. 2. A single SAVEPOINT is issu

Re: lastOverflowedXid does not handle transaction ID wraparound

2021-10-20 Thread Stan Hu
On Wed, Oct 20, 2021 at 4:00 AM Andrey Borodin wrote: > > > > 17 окт. 2021 г., в 21:55, Dmitry Dolgov <9erthali...@gmail.com> > написал(а): > > I wonder what would be side > > effects of clearing it when the snapshot is not suboverfloved anymore? > > I think we should just invalidate lastOverflow

Re: lastOverflowedXid does not handle transaction ID wraparound

2021-10-21 Thread Stan Hu
On Wed, Oct 20, 2021 at 9:01 PM Kyotaro Horiguchi wrote: > > lastOverflowedXid is the smallest subxid that possibly exists but > possiblly not known to the standby. So if all top-level transactions > older than lastOverflowedXid end, that means that all the > subtransactions in doubt are known to

Re: lastOverflowedXid does not handle transaction ID wraparound

2021-11-03 Thread Stan Hu
Good catch on doing this in ExpireAllKnownAssignedTransactionIds() as well. Thanks. Looks good to me! As Nikolay mentioned, I think this is an important bug that we are seeing in production and would appreciate a backport to v12 if possible. On Wed, Nov 3, 2021 at 3:07 PM Alexander Korotkov wrot

PostgreSQL does not compile on macOS SDK 15.0

2024-06-24 Thread Stan Hu
Xcode 16 beta was released on 2024-06-10 and ships with macOS SDK 15.0 [1]. It appears PostgreSQL does not compile due to typedef redefiniton errors in the regex library: /tmp/Xcode-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -Wall -Wmissing-prototypes -Wpointer-a

Re: PostgreSQL does not compile on macOS SDK 15.0

2024-06-24 Thread Stan Hu
It appears in macOS SDK 14.5, there were include guards in $SDK_ROOT/usr/include/xlocale/_regex.h: #ifndef _XLOCALE__REGEX_H_ #define _XLOCALE__REGEX_H_ #ifndef _REGEX_H_ #include <_regex.h> #endif // _REGEX_H_ #include <_xlocale.h> In macOS SDK 15.5, these include guards are gone: #ifndef _XLO

[PATCH] Fix type redefinition build errors with macOS SDK 15.0

2024-06-24 Thread Stan Hu
Prior to macOS SDK 15, there were include guards in $SDK_ROOT/usr/include/xlocale/_regex.h: #ifndef _REGEX_H_ #include <_regex.h> #endif // _REGEX_H_ #include <_xlocale.h> In macOS SDK 15.5, these include guards are gone: #include <_regex.h> #include <_xlocale.h> Because _REGEX_H_ w

[PATCH] Fix type redefinition build errors with macOS SDK 15.0

2024-06-24 Thread Stan Hu
Prior to macOS SDK 15, there were include guards in $SDK_ROOT/usr/include/xlocale/_regex.h: #ifndef _REGEX_H_ #include <_regex.h> #endif // _REGEX_H_ #include <_xlocale.h> In macOS SDK 15, these include guards are gone: #include <_regex.h> #include <_xlocale.h> Because _REGEX_H_ was

[PATCH v3] Fix type redefinition build errors with macOS SDK 15.0

2024-06-24 Thread Stan Hu
Prior to macOS SDK 15, there were include guards in $SDK_ROOT/usr/include/xlocale/_regex.h: #ifndef _REGEX_H_ #include <_regex.h> #endif // _REGEX_H_ #include <_xlocale.h> In macOS SDK 15, these include guards are gone: #include <_regex.h> #include <_xlocale.h> Because _REGEX_H_ was

Re: [PATCH] Fix type redefinition build errors with macOS SDK 15.0

2024-06-24 Thread Stan Hu
Thanks, Tom and Michael. I've submitted a bug report via Apple's Feedback Assistant. It's filed under FB14047412. If anyone happens to know the right person at Apple to look at this, please direct them there. On Mon, Jun 24, 2024 at 7:15 PM Tom Lane wrote: > > Michael Paquier writes: > > Ugh.

Re: PostgreSQL does not compile on macOS SDK 15.0

2024-06-25 Thread Stan Hu
Thanks, everyone. Sorry to create multiple threads on this. As I mentioned in the other thread, I've already submitted a bug report to Apple (FB14047412). My colleagues know a key macOS engineer, and they have reached out to him to review that thread and bug report. I'll update if we hear anything

pg_upgrade adds unexpected pg_constraint entries to pg_depend

2024-07-24 Thread Stan Hu
I've noticed that after running `pg_upgrade` that my `pg_depend` table contains unexpected dependencies for sequences. Before the upgrade from PostgreSQL 15.7: ``` % psql -d gitlabhq_production psql (16.3, server 15.7) Type "help" for help. gitlabhq_production=# SELECT seq_pg_class.relname AS seq