Thread: pg_dump: add option to ignore TABLE DATA for failed TABLE object creation

pg_dump: add option to ignore TABLE DATA for failed TABLE object creation

From
Martin Pitt
Date:
Hi PostgreSQL developers,

some time ago I started a discussion [1] here about modifying pg_dump
to not restore TABLE DATA objects if the corresponding TABLE oject
failed to be created (usually because it already exists, but it might
fail due to a different error like a nonexisting data type). We need
this to provide automatic major version upgrades for databases with
extensions like PostGIS. Tom's reply [3] seemed to indicate that this
was not entirely crackful, so I implemented his approach, and after
some feedback I now have a fairly clean patch that works very well.

The patch was scheduled for review and inclusion [4], and indeed the
page had the patch for a while, but after some time it vanished.

Can you please reconsider this? If there is still a problem with the
patch, I'd like to work on it until it meets your standards.

For your convenience I attach the current patch version; a test script
[5] is also available (the ML kills shell script attachments, so I put
it on a Debian server). It does not alter the default behaviour, it
just adds a new option -X no-data-for-failed-tables. If you think this
mode should be the default, I'm happy to change it that way.

Thank you a lot!

Martin

[1] http://archives.postgresql.org/pgsql-hackers/2006-02/msg00694.php
[2] http://bugs.debian.org/351571
[3] http://archives.postgresql.org/pgsql-hackers/2006-02/msg00716.php
[4] http://archives.postgresql.org/pgsql-hackers/2006-02/msg01253.php
[5] http://people.debian.org/~mpitt/test-pg_restore-existing.sh

--
Martin Pitt        http://www.piware.de
Ubuntu Developer   http://www.ubuntu.com
Debian Developer   http://www.debian.org

In a world without walls and fences, who needs Windows and Gates?

Attachment
You should submit to -patches; at least that it should either get  
into the queue or you should get a reason why it didn't.

On Jul 17, 2006, at 4:27 PM, Martin Pitt wrote:
> some time ago I started a discussion [1] here about modifying pg_dump
> to not restore TABLE DATA objects if the corresponding TABLE oject
> failed to be created (usually because it already exists, but it might
> fail due to a different error like a nonexisting data type). We need
> this to provide automatic major version upgrades for databases with
> extensions like PostGIS. Tom's reply [3] seemed to indicate that this
> was not entirely crackful, so I implemented his approach, and after
> some feedback I now have a fairly clean patch that works very well.
>
> The patch was scheduled for review and inclusion [4], and indeed the
> page had the patch for a while, but after some time it vanished.
>
> Can you please reconsider this? If there is still a problem with the
> patch, I'd like to work on it until it meets your standards.
>
> For your convenience I attach the current patch version; a test script
> [5] is also available (the ML kills shell script attachments, so I put
> it on a Debian server). It does not alter the default behaviour, it
> just adds a new option -X no-data-for-failed-tables. If you think this
> mode should be the default, I'm happy to change it that way.
>
> Thank you a lot!
>
> Martin
>
> [1] http://archives.postgresql.org/pgsql-hackers/2006-02/msg00694.php
> [2] http://bugs.debian.org/351571
> [3] http://archives.postgresql.org/pgsql-hackers/2006-02/msg00716.php
> [4] http://archives.postgresql.org/pgsql-hackers/2006-02/msg01253.php
> [5] http://people.debian.org/~mpitt/test-pg_restore-existing.sh
>
> -- 
> Martin Pitt        http://www.piware.de
> Ubuntu Developer   http://www.ubuntu.com
> Debian Developer   http://www.debian.org
>
> In a world without walls and fences, who needs Windows and Gates?
> <13-pg_restore-ignore-failing-tables.patch>

--
Jim C. Nasby, Sr. Engineering Consultant      jnasby@pervasive.com
Pervasive Software      http://pervasive.com    work: 512-231-6117
vcard: http://jim.nasby.net/pervasive.vcf       cell: 512-569-9461




Re: pg_dump: add option to ignore TABLE DATA for failed

From
Bruce Momjian
Date:
Your patch has been added to the PostgreSQL unapplied patches list at:
http://momjian.postgresql.org/cgi-bin/pgpatches

It will be applied as soon as one of the PostgreSQL committers reviews
and approves it.

---------------------------------------------------------------------------


Martin Pitt wrote:
-- Start of PGP signed section.
> Hi PostgreSQL developers,
> 
> some time ago I started a discussion [1] here about modifying pg_dump
> to not restore TABLE DATA objects if the corresponding TABLE oject
> failed to be created (usually because it already exists, but it might
> fail due to a different error like a nonexisting data type). We need
> this to provide automatic major version upgrades for databases with
> extensions like PostGIS. Tom's reply [3] seemed to indicate that this
> was not entirely crackful, so I implemented his approach, and after
> some feedback I now have a fairly clean patch that works very well. 
> 
> The patch was scheduled for review and inclusion [4], and indeed the
> page had the patch for a while, but after some time it vanished.
> 
> Can you please reconsider this? If there is still a problem with the
> patch, I'd like to work on it until it meets your standards.
> 
> For your convenience I attach the current patch version; a test script
> [5] is also available (the ML kills shell script attachments, so I put
> it on a Debian server). It does not alter the default behaviour, it
> just adds a new option -X no-data-for-failed-tables. If you think this
> mode should be the default, I'm happy to change it that way.
> 
> Thank you a lot!
> 
> Martin
> 
> [1] http://archives.postgresql.org/pgsql-hackers/2006-02/msg00694.php
> [2] http://bugs.debian.org/351571
> [3] http://archives.postgresql.org/pgsql-hackers/2006-02/msg00716.php
> [4] http://archives.postgresql.org/pgsql-hackers/2006-02/msg01253.php
> [5] http://people.debian.org/~mpitt/test-pg_restore-existing.sh
> 
> -- 
> Martin Pitt        http://www.piware.de
> Ubuntu Developer   http://www.ubuntu.com
> Debian Developer   http://www.debian.org
> 
> In a world without walls and fences, who needs Windows and Gates?

[ Attachment, skipping... ]
-- End of PGP section, PGP failed!

--  Bruce Momjian   bruce@momjian.us EnterpriseDB    http://www.enterprisedb.com
 + If your life is a hard drive, Christ can be your backup. +


Re: pg_dump: add option to ignore TABLE DATA for failed

From
Bruce Momjian
Date:
Patch applied.  Thanks.

---------------------------------------------------------------------------


Martin Pitt wrote:
-- Start of PGP signed section.
> Hi PostgreSQL developers,
> 
> some time ago I started a discussion [1] here about modifying pg_dump
> to not restore TABLE DATA objects if the corresponding TABLE oject
> failed to be created (usually because it already exists, but it might
> fail due to a different error like a nonexisting data type). We need
> this to provide automatic major version upgrades for databases with
> extensions like PostGIS. Tom's reply [3] seemed to indicate that this
> was not entirely crackful, so I implemented his approach, and after
> some feedback I now have a fairly clean patch that works very well. 
> 
> The patch was scheduled for review and inclusion [4], and indeed the
> page had the patch for a while, but after some time it vanished.
> 
> Can you please reconsider this? If there is still a problem with the
> patch, I'd like to work on it until it meets your standards.
> 
> For your convenience I attach the current patch version; a test script
> [5] is also available (the ML kills shell script attachments, so I put
> it on a Debian server). It does not alter the default behaviour, it
> just adds a new option -X no-data-for-failed-tables. If you think this
> mode should be the default, I'm happy to change it that way.
> 
> Thank you a lot!
> 
> Martin
> 
> [1] http://archives.postgresql.org/pgsql-hackers/2006-02/msg00694.php
> [2] http://bugs.debian.org/351571
> [3] http://archives.postgresql.org/pgsql-hackers/2006-02/msg00716.php
> [4] http://archives.postgresql.org/pgsql-hackers/2006-02/msg01253.php
> [5] http://people.debian.org/~mpitt/test-pg_restore-existing.sh
> 
> -- 
> Martin Pitt        http://www.piware.de
> Ubuntu Developer   http://www.ubuntu.com
> Debian Developer   http://www.debian.org
> 
> In a world without walls and fences, who needs Windows and Gates?

[ Attachment, skipping... ]
-- End of PGP section, PGP failed!

--  Bruce Momjian   bruce@momjian.us EnterpriseDB    http://www.enterprisedb.com
 + If your life is a hard drive, Christ can be your backup. +