スキーマをコピーする方法はない。
代わりに以下の方法で同じ効果を得る。
- スキーマ名Aをスキーマ名Bに変更する
- スキーマ名Bの状態でpg_dumpする
- スキーマ名Bをスキーマ名Aに変更する
- スキーマ名Bを作成する
- pg_dumpしたファイルをリストアする
Statementは以下の通り。
$ psql -U user -d dbname -c 'ALTER SCHEMA old_schema RENAME TO new_schema'
$ pg_dump -U user -n new_schema -f new_schema.sql dbname
$ psql -U user -d dbname -c 'ALTER SCHEMA new_schema RENAME TO old_schema'
$ psql -U user -d dbname -c 'CREATE SCHEMA new_schema'
$ psql -U user -q -d dbname -f new_schema.sql
$ rm new_schema.sql
[arst_adsense slotnumber=”1″]