From: | Tino Wildenhain <tino(at)wildenhain(dot)de> |
---|---|
To: | Mike Nolan <nolan(at)gw(dot)tssi(dot)com> |
Cc: | pgsql general list <pgsql-general(at)postgresql(dot)org> |
Subject: | Re: restoring a .dmp file to another table name |
Date: | 2004-08-23 06:43:53 |
Message-ID: | 1093243433.1520.18.camel@Andrea.peacock.de |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
Hi,
Am Mo, den 23.08.2004 schrieb Mike Nolan um 6:15:
> I've probably asked this question before, but what do people do when they
> need to restore a table that has been dumped but as a different table
> name? That doesn't appear to be an option in pg_restore. (Is that just
> a front end to psql?)
>
> I need both the old table and the live one in the same database so
> that I can compare a set of values to see what changed, and I don't have
> a spare system to do it on at the moment, nor can I rename the live file
> since it is in use most of the day.
>
> This is a fairly large table (2.8M rows, 500MB dump file) and I think
> it may have some data in it that would get messed up if I were to try to
> extract the DDL leading up to the COPY statement using head and tail
> statements to change the table name.
Just use pg_restore -t tablename (and the other options according to
your pg_dump) and write the results in a file. Use an editor to change
tablename to your new tablename in the result. If you are absolute
sure your tablename does not appear as data payload in the table,
you can use sed like this:
pg_restore -t tablename | sed -e "s/tablename/newtablename/" | psql
HTH
Tino Wildenhain
From | Date | Subject | |
---|---|---|---|
Next Message | Thomas Hallgren | 2004-08-23 06:46:42 | ANN: PL/Java now supports both PostgreSQL 8.0 and 7.4 |
Previous Message | Mike Nolan | 2004-08-23 04:15:38 | restoring a .dmp file to another table name |