Fix pg_dump to not crash if -t or a similar switch is used to select a serial

sequence for dumping without also selecting its owning table.  Make it not try
to emit ALTER SEQUENCE OWNED BY in this situation.
Per report from Michael Nolan.
REL8_3_STABLE
Tom Lane 19 years ago
parent de9effb55f
commit 6ee2a3be4a
  1. 8
      src/bin/pg_dump/pg_dump.c

@ -12,7 +12,7 @@
* by PostgreSQL
*
* IDENTIFICATION
* $PostgreSQL: pgsql/src/bin/pg_dump/pg_dump.c,v 1.466 2007/04/02 03:49:39 tgl Exp $
* $PostgreSQL: pgsql/src/bin/pg_dump/pg_dump.c,v 1.467 2007/04/16 18:42:10 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@ -8654,8 +8654,8 @@ dumpSequence(Archive *fout, TableInfo *tbinfo)
*
* Add a CREATE SEQUENCE statement as part of a "schema" dump (use
* last_val for start if called is false, else use min_val for start_val).
* Also, if the sequence is owned by a column, add an ALTER SEQUENCE SET
* OWNED command for it.
* Also, if the sequence is owned by a column, add an ALTER SEQUENCE
* OWNED BY command for it.
*
* Add a 'SETVAL(seq, last_val, iscalled)' as part of a "data" dump.
*/
@ -8723,7 +8723,7 @@ dumpSequence(Archive *fout, TableInfo *tbinfo)
{
TableInfo *owning_tab = findTableByOid(tbinfo->owning_tab);
if (owning_tab)
if (owning_tab && owning_tab->dobj.dump)
{
resetPQExpBuffer(query);
appendPQExpBuffer(query, "ALTER SEQUENCE %s",

Loading…
Cancel
Save