Discussion:
Dumping partial database content
(too old to reply)
h***@hotmail.com
2004-06-30 12:07:42 UTC
Permalink
Hi,

I need to dump only partial content of my database, for example i want
to dump only records that has been insterted to the database from a
specific date.
I tried to use pg_dump/pg_export but did not find anything usefull.

I'm using postgres version 7.3 on Linux RH 7.3

any idea/direction ?

Regards,
Hanan
mike g
2004-07-02 04:10:33 UTC
Permalink
I don't believe there is an option in pg_dump that current handles
that. It is the whole table / object or nothing at all. Depending on
the volume of transactions and frequency that you need to dump the data
will determine which solution works best for you.

Heavy volume and/or dumps multiple times per hour: Replication would
probably be the best solution-perhaps Slony.

Occasionaly or small volume: A Perl script / cron job that executes a
SELECT * FROM x WHERE date > $passed parameter when calling the script.

One time: Use pgadminIII or psql to execute a SELECT query and direct
the results into a file.

Mike
Post by h***@hotmail.com
Hi,
I need to dump only partial content of my database, for example i want
to dump only records that has been insterted to the database from a
specific date.
I tried to use pg_dump/pg_export but did not find anything usefull.
I'm using postgres version 7.3 on Linux RH 7.3
any idea/direction ?
Regards,
Hanan
---------------------------(end of broadcast)---------------------------
TIP 4: Don't 'kill -9' the postmaster
---------------------------(end of broadcast)---------------------------
TIP 1: subscribe and unsubscribe commands go to ***@postgresql.org
Bender, Cheryl
2004-07-02 16:48:02 UTC
Permalink
Just wondering--is it possible to dump on a temporary table?

Cheryl Bender


-----Original Message-----
From: pgsql-admin-***@postgresql.org
[mailto:pgsql-admin-***@postgresql.org] On Behalf Of mike g
Sent: Thursday, July 01, 2004 11:11 PM
To: ***@hotmail.com
Cc: pgsql-***@postgresql.org
Subject: Re: [ADMIN] Dumping partial database content


I don't believe there is an option in pg_dump that current handles that.
It is the whole table / object or nothing at all. Depending on the
volume of transactions and frequency that you need to dump the data will
determine which solution works best for you.

Heavy volume and/or dumps multiple times per hour: Replication would
probably be the best solution-perhaps Slony.

Occasionaly or small volume: A Perl script / cron job that executes a
SELECT * FROM x WHERE date > $passed parameter when calling the script.

One time: Use pgadminIII or psql to execute a SELECT query and direct
the results into a file.

Mike
Post by h***@hotmail.com
Hi,
I need to dump only partial content of my database, for example i want
to dump only records that has been insterted to the database from a
specific date. I tried to use pg_dump/pg_export but did not find
anything usefull.
I'm using postgres version 7.3 on Linux RH 7.3
any idea/direction ?
Regards,
Hanan
---------------------------(end of
broadcast)---------------------------
TIP 4: Don't 'kill -9' the postmaster
---------------------------(end of broadcast)---------------------------
TIP 1: subscribe and unsubscribe commands go to ***@postgresql.org

---------------------------(end of broadcast)---------------------------
TIP 4: Don't 'kill -9' the postmaster
Christopher Browne
2004-07-02 19:15:13 UTC
Permalink
Post by Bender, Cheryl
Just wondering--is it possible to dump on a temporary table?
The temp table is only visible inside the context of the transaction
under which it was created.

A pg_dump session will create an independent transaction context,
where the table won't be visible, alas.

So you can't use pg_dump to dump the data out.

You may, however, use COPY to dump it out yourself.

select * into temp table foo from bar;
copy foo to '/tmp/foo_contents.txt';
--
If this was helpful, <http://svcs.affero.net/rm.php?r=cbbrowne> rate me
http://www.ntlug.org/~cbbrowne/postgresql.html
Rules of the Evil Overlord #50. "My main computers will have their own
special operating system that will be completely incompatible with
standard IBM and Macintosh powerbooks."
<http://www.eviloverlord.com/>
Bender, Cheryl
2004-07-02 18:56:52 UTC
Permalink
Never mind--answered my own question.

You can dump from a temporary table, which provides Hanan another way to
dump a subset of data.

Use CREATE TEMPORARY TABLE as select ....


Cheryl Bender

-----Original Message-----
From: pgsql-admin-***@postgresql.org
[mailto:pgsql-admin-***@postgresql.org] On Behalf Of Bender, Cheryl
Sent: Friday, July 02, 2004 11:48 AM
To: ***@thegodshalls.com; ***@hotmail.com
Cc: pgsql-***@postgresql.org
Subject: Re: [ADMIN] Dumping partial database content


Just wondering--is it possible to dump on a temporary table?

Cheryl Bender


-----Original Message-----
From: pgsql-admin-***@postgresql.org
[mailto:pgsql-admin-***@postgresql.org] On Behalf Of mike g
Sent: Thursday, July 01, 2004 11:11 PM
To: ***@hotmail.com
Cc: pgsql-***@postgresql.org
Subject: Re: [ADMIN] Dumping partial database content


I don't believe there is an option in pg_dump that current handles that.
It is the whole table / object or nothing at all. Depending on the
volume of transactions and frequency that you need to dump the data will
determine which solution works best for you.

Heavy volume and/or dumps multiple times per hour: Replication would
probably be the best solution-perhaps Slony.

Occasionaly or small volume: A Perl script / cron job that executes a
SELECT * FROM x WHERE date > $passed parameter when calling the script.

One time: Use pgadminIII or psql to execute a SELECT query and direct
the results into a file.

Mike
Post by h***@hotmail.com
Hi,
I need to dump only partial content of my database, for example i want
to dump only records that has been insterted to the database from a
specific date. I tried to use pg_dump/pg_export but did not find
anything usefull.
I'm using postgres version 7.3 on Linux RH 7.3
any idea/direction ?
Regards,
Hanan
---------------------------(end of
broadcast)---------------------------
TIP 4: Don't 'kill -9' the postmaster
---------------------------(end of broadcast)---------------------------
TIP 1: subscribe and unsubscribe commands go to ***@postgresql.org

---------------------------(end of broadcast)---------------------------
TIP 4: Don't 'kill -9' the postmaster

---------------------------(end of broadcast)---------------------------
TIP 5: Have you checked our extensive FAQ?

http://www.postgresql.org/docs/faqs/FAQ.html
Bender, Cheryl
2004-07-02 21:03:23 UTC
Permalink
I see what you're saying. I thought it had worked, but when I looked at
the dump file there was no data. Thanks.

Cheryl Bender


-----Original Message-----
From: pgsql-admin-***@postgresql.org
[mailto:pgsql-admin-***@postgresql.org] On Behalf Of Christopher
Browne
Sent: Friday, July 02, 2004 2:15 PM
To: pgsql-***@postgresql.org
Subject: Re: [ADMIN] Dumping partial database content
Post by Bender, Cheryl
Just wondering--is it possible to dump on a temporary table?
The temp table is only visible inside the context of the transaction
under which it was created.

A pg_dump session will create an independent transaction context, where
the table won't be visible, alas.

So you can't use pg_dump to dump the data out.

You may, however, use COPY to dump it out yourself.

select * into temp table foo from bar;
copy foo to '/tmp/foo_contents.txt';
--
If this was helpful, <http://svcs.affero.net/rm.php?r=cbbrowne> rate me
http://www.ntlug.org/~cbbrowne/postgresql.html
Rules of the Evil Overlord #50. "My main computers will have their own
special operating system that will be completely incompatible with
standard IBM and Macintosh powerbooks." <http://www.eviloverlord.com/>

---------------------------(end of broadcast)---------------------------
TIP 6: Have you searched our list archives?

http://archives.postgresql.org

---------------------------(end of broadcast)---------------------------
TIP 7: don't forget to increase your free space map settings
Loading...