Điều sau kết thúc:
pg_dump --schema-only --format c dbName | \
pg_restore --schema-only --clean --dbname=dbNameTest
Ngoại trừ nó không hoạt động nếu dbNameTest chưa tồn tại. Phần sau thực hiện công việc (mặc dù nó phàn nàn nếu dbNameTest đã tồn tại. Tôi có thể sống với điều đó)
createdb dbNameTest
pg_dump --schema-only --format c dbName | \
pg_restore --schema-only --clean --dbname=dbNameTest
Oneliner với các tùy chọn ngắn sẽ là:
createdb dbNameTest ; pg_dump -s -F c dbName | pg_restore -s -c -d dbNameTest
Tập lệnh sh pg_copy_schema sẽ đi một cái gì đó như:
#!/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"