Hi Rusty, In which case can you not include the text around the schema & table creation commands to ensure other instances of "public" do not match the string? I'm not sure exactly what the pg_dump output contains, but you could use something like: cat pg_dump.sql | sed 's/CREATE SCHEMA "public"/CREATE SCHEMA "new_schema"/' | \ sed 's/CREATE TABLE "public"./CREATE TABLE "new_schema"./' > new_schema.sql This should avoid any ambiguity as to which instances of "public" you want changed in the pg_dump sql file. I think adding support for changing schema names in pg_dump would make it unnecessarily complex, as why just schemas? Also rename databases, tables, columns, index names, change comments... I've yet to find something like this I couldn't do with sed, & if there was there is always awk for the truly desparate :-) pg_dump generates the dump, reliably, simply & safely. Any change you want from the original is not, IMHO, the role of a backup program. That should ONLY back up a replica of your data. Make changes afterwards if you like, but a backup program shouldn't modify your data. Just my 02c, & I ain't no Postgres developer, so I'm not speaking for them in this.... Cheers, Brent Wood Hi Brent, It's not he best solution, because we could have fields containing "public" in their names and sed would happily change those to test1 as well. I'm looking for a safer solution, thats why it should be a part of pg_dump. Rusty On Apr 5, 2008, at 12:41 AM, Brent Wood wrote: > Hi Rusty, > > Try passing the output through a utility like sed, already there > under Linux , but versions that work under Windows are available > (eg, cygwin) > > eg, using a pipe: pg_dump -d.... | sed 's/public/test1/g' > dump.sql