Fix failure of ALTER FOREIGN TABLE SET SCHEMA to move sequences.
authorTom Lane <tgl@sss.pgh.pa.us>
Tue, 26 Mar 2024 19:28:16 +0000 (15:28 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Tue, 26 Mar 2024 19:28:16 +0000 (15:28 -0400)
commitb48eda4e54810aa1d8dd2af7c6763fd414d8e0a1
treeda08c09a0bf608c62c0197002d89c73f3b1a1359
parent3c3f4fd741d0c795470a61d12c285af9acdcea0e
Fix failure of ALTER FOREIGN TABLE SET SCHEMA to move sequences.

Ordinary ALTER TABLE SET SCHEMA will also move any owned sequences
into the new schema.  We failed to do likewise for foreign tables,
because AlterTableNamespaceInternal believed that only certain
relkinds could have indexes, owned sequences, or constraints.
We could simply add foreign tables to that relkind list, but it
seems likely that the same oversight could be made again in
future.  Instead let's remove the relkind filter altogether.
These functions shouldn't cost much when there are no objects
that they need to process, and surely this isn't an especially
performance-critical case anyway.

Per bug #18407 from Vidushi Gupta.  Back-patch to all supported
branches.

Discussion: https://postgr.es/m/18407-4fd07373d252c6a0@postgresql.org
src/backend/commands/tablecmds.c
src/test/regress/expected/foreign_data.out
src/test/regress/sql/foreign_data.sql