Re: improve performance of pg_dump with many sequences
Nathan Bossart <nathandbossart@gmail.com>
From: Nathan Bossart <nathandbossart@gmail.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Michael Paquier <michael@paquier.xyz>, Euler Taveira <euler@eulerto.com>, pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2026-01-08T19:34:28Z
Lists: pgsql-hackers
Attachments
On Thu, Jan 08, 2026 at 01:19:39PM -0500, Tom Lane wrote: > One nitpicky point is that try_sequence_open() will still error out > if it is given an OID that is a non-sequence relation. I think it'd > be more desirable for it to close the relation again and return NULL. > That's probably insignificant for pg_dump's usage, because we could > only hit the case with very improbable OID wraparound timing. But > I think our experience with catalog-inspection functions similar to > pg_get_sequence_data is that it's usually better to return NULL than > throw an error. Hm. That makes sense, but both try_table_open and try_index_open error for wrong relkinds. I could change all of the try_*_open functions to return NULL in that case, or I could just open-code the relkind check in pg_get_sequence_data after try_relation_open (and have it return NULL for non-sequences). I'm leaning towards the latter, if for no other reason than it might be slightly nicer for back-patching (e.g., smaller, no new extern functions). -- nathan
Commits
-
pg_dump: Fix gathering of sequence information.
- 7a485bd641b7 19 (unreleased) landed
- 39d55557661f 18.2 landed
-
Improve performance of dumpSequence().
- 68e962998598 18.0 landed
-
Improve performance of dumpSequenceData().
- bd15b7db489d 18.0 landed
-
Introduce pg_sequence_read_tuple().
- c8b06bb969bf 18.0 landed
-
Parse sequence type and integer metadata in dumpSequence().
- 23687e925f94 18.0 landed