以下が近づいています:
pg_dump --schema-only --format c dbName | \
pg_restore --schema-only --clean --dbname=dbNameTest
dbNameTest
の場合は機能しないことを除いて まだ存在していません。以下はその仕事をします(dbNameTest
の場合は文句を言いますが もう存在している。私はそれと一緒に暮らすことができます)
createdb dbNameTest
pg_dump --schema-only --format c dbName | \
pg_restore --schema-only --clean --dbname=dbNameTest
短いオプションのワンライナーは次のようになります:
createdb dbNameTest ; pg_dump -s -F c dbName | pg_restore -s -c -d dbNameTest
shスクリプトpg_copy_schema
次のようになります:
#!/bin/sh
if [ -z "$2" ] ; then echo "Usage: `basename $0` original-db new-db" ; exit 1 ; fi
echo "Copying schema of $1 to $2"
createdb "$2" 2> /dev/null
pg_dump --schema-only --format c "$1" | pg_restore --schema-only --clean --dbname="$2"