Search Postgresql Archives

Re: pg_dump and schemas

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux