PostgreSQL – Make a copy of a schema in the same database

# dump the schema into a text file as user 'postgres'
pg_dump -h localhost -n source_schema -U postgres db_name > dump.sql
# change all instances of source_schema in the dump into new_schema
sed -i 's/source_schema/new_schema/g' dump.sql
# skip all GRANT statements in the dump by commenting out
sed -i 's/GRANT/-- GRANT/g' dump.sql
# feed the dump file into psql to create new_schema as user 'postgres'
psql -h localhost -f dump.sql -U postgres db_name
# remove the dump file to clean up the file system
rm dump.sql

Some other ways: http://dba.stackexchange.com/questions/10474/postgresql-how-to-create-full-copy-of-database-schema-in-same-database

Advertisements

Trả lời

Mời bạn điền thông tin vào ô dưới đây hoặc kích vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Đăng xuất / Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Đăng xuất / Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Đăng xuất / Thay đổi )

Google+ photo

Bạn đang bình luận bằng tài khoản Google+ Đăng xuất / Thay đổi )

Connecting to %s