On Wed, 4 Jan 2006 21:00:25 -0800, Benjamin Smith <[EMAIL PROTECTED]> wrote: > Is there a way to put a limit on pg_dump, so that it doesn't dump ALL data, > but that matching a particular query? > > Something like: > > pg_dump -da --attribute-inserts -t "customers" \ > --matching-query="select * from customers where id=11"; > > I'd like to selectively dump information from a query, but using the output > format from pg_dump so that it can be used to create a (partial) database. > > Can this sort of thing be done?
Not directly with pg_dump. You could create a table (create table customers_1 as select * from customers where id=11) and dump that but remember to change the tablename in the dump file or after loading it. You dont get any pk/fk/indexes on the table definition. You could also use copy to stdout/stdin. eg dump psql -d dbname -c "create temp table dump as select * from customers where id=11; copy dump to stdout;" >dumpfile eg restore psql -d newdb -c "copy customers from stdin" <dumpfile You might need to play around with supplying username/password. klint. +---------------------------------------+-----------------+ : Klint Gore : "Non rhyming : : EMail : [EMAIL PROTECTED] : slang - the : : Snail : A.B.R.I. : possibilities : : Mail University of New England : are useless" : : Armidale NSW 2351 Australia : L.J.J. : : Fax : +61 2 6772 5376 : : +---------------------------------------+-----------------+ ---------------------------(end of broadcast)--------------------------- TIP 9: In versions below 8.0, the planner will ignore your desire to choose an index scan if your joining column's datatypes do not match