how to create dump of selected rows from a table

Started by anj patnaikover 10 years ago3 messagesgeneral
Jump to latest
#1anj patnaik
patna73@gmail.com

Currently, I am running pg_dump on an entire table of a database by doing:

PGPASSWORD=$PGPASSWORDB /opt/data/PostgreSQL/9.4/bin/pg_dump -t RECORDER
-Fc $i -U pguser -Z0 | xz -9 > "$backup_dir/$i-$timeslot-database"

However, this table has a lot of rows.

Is there a way I could do pg_dump on a subset of rows that match a criteria
say via a sql statement?

Does anyone have any snippets on how to do that?

Thank you

#2Adrian Klaver
adrian.klaver@aklaver.com
In reply to: anj patnaik (#1)
Re: how to create dump of selected rows from a table

On 12/17/2015 09:28 AM, anj patnaik wrote:

Currently, I am running pg_dump on an entire table of a database by doing:

PGPASSWORD=$PGPASSWORDB /opt/data/PostgreSQL/9.4/bin/pg_dump -t
RECORDER -Fc $i -U pguser -Z0 | xz -9 > "$backup_dir/$i-$timeslot-database"

However, this table has a lot of rows.

Is there a way I could do pg_dump on a subset of rows that match a
criteria say via a sql statement?

Yes it is called COPY:):

http://www.postgresql.org/docs/9.4/interactive/sql-copy.html

or its psql equivalent \copy:

http://www.postgresql.org/docs/9.4/interactive/app-psql.html

Does anyone have any snippets on how to do that?

Thank you

--
Adrian Klaver
adrian.klaver@aklaver.com

--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

#3Melvin Davidson
melvin6925@gmail.com
In reply to: Adrian Klaver (#2)
Re: how to create dump of selected rows from a table

And to get the structure of a table, you can use
pg_describe_object(catalog_id, object_id, object_sub_id)

On Fri, Dec 18, 2015 at 10:16 AM, Adrian Klaver <adrian.klaver@aklaver.com>
wrote:

On 12/17/2015 09:28 AM, anj patnaik wrote:

Currently, I am running pg_dump on an entire table of a database by doing:

PGPASSWORD=$PGPASSWORDB /opt/data/PostgreSQL/9.4/bin/pg_dump -t
RECORDER -Fc $i -U pguser -Z0 | xz -9 >
"$backup_dir/$i-$timeslot-database"

However, this table has a lot of rows.

Is there a way I could do pg_dump on a subset of rows that match a
criteria say via a sql statement?

Yes it is called COPY:):

http://www.postgresql.org/docs/9.4/interactive/sql-copy.html

or its psql equivalent \copy:

http://www.postgresql.org/docs/9.4/interactive/app-psql.html

Does anyone have any snippets on how to do that?

Thank you

--
Adrian Klaver
adrian.klaver@aklaver.com

--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

--
*Melvin Davidson*
I reserve the right to fantasize. Whether or not you
wish to share my fantasy is entirely up to you.