pgsql: tableam: Add pg_dump support.

Started by Andres Freundover 7 years ago4 messagescomitters
Jump to latest
#1Andres Freund
andres@anarazel.de

tableam: Add pg_dump support.

This adds pg_dump support for table AMs in a similar manner to how
tablespaces are handled. That is, instead of specifying the AM for
every CREATE TABLE etc, emit SET default_table_access_method
statements. That makes it easier to change the AM for all/most tables
in a dump, and allows restore to succeed even if some AM is not
available.

This increases the dump archive version, as a tables/matview's AM
needs to be tracked therein.

Author: Dimitri Dolgov, Andres Freund
Discussion:
/messages/by-id/20180703070645.wchpu5muyto5n647@alap3.anarazel.de
/messages/by-id/20190304234700.w5tmhducs5wxgzls@alap3.anarazel.de

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/3b925e905de3204ffef64fa4d53dd7bbac1a143f

Modified Files
--------------
src/bin/pg_dump/pg_backup_archiver.c | 57 +++++++++++++++++++++++++++++++++-
src/bin/pg_dump/pg_backup_archiver.h | 6 +++-
src/bin/pg_dump/pg_dump.c | 22 +++++++++++--
src/bin/pg_dump/pg_dump.h | 1 +
src/bin/pg_dump/t/002_pg_dump.pl | 60 ++++++++++++++++++++++++++++++++++++
5 files changed, 142 insertions(+), 4 deletions(-)

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: Andres Freund (#1)
Re: pgsql: tableam: Add pg_dump support.

Andres Freund <andres@anarazel.de> writes:

tableam: Add pg_dump support.

This or a nearby patch broke cross-version pg_upgrade, according to the
buildfarm.

regards, tom lane

#3Andres Freund
andres@anarazel.de
In reply to: Tom Lane (#2)
Re: pgsql: tableam: Add pg_dump support.

Hi,

On 2019-03-06 20:32:22 -0500, Tom Lane wrote:

Andres Freund <andres@anarazel.de> writes:

tableam: Add pg_dump support.

This or a nearby patch broke cross-version pg_upgrade, according to the
buildfarm.

Yea, I started a thread about it:
/messages/by-id/20190306204104.yle5jfbnqkcwykni@alap3.anarazel.de

In short, I think this was basically not this patch's fault, it just
added an assertion that coincidentally triggered for the changes in
https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=807ae415c54628ade937cb209f0fc9913e6b0cf5
et al. When pg_upgrading from pre v12, we're creating a partitioned
table that doesn't have a relfilenode, but does have a toast table.

Greetings,

Andres Freund

#4Tom Lane
tgl@sss.pgh.pa.us
In reply to: Andres Freund (#3)
Re: pgsql: tableam: Add pg_dump support.

Andres Freund <andres@anarazel.de> writes:

On 2019-03-06 20:32:22 -0500, Tom Lane wrote:

This or a nearby patch broke cross-version pg_upgrade, according to the
buildfarm.

Yea, I started a thread about it:
/messages/by-id/20190306204104.yle5jfbnqkcwykni@alap3.anarazel.de

Oh, I missed that --- sorry for the noise.

regards, tom lane