PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Gunakan hasil pg_dump sebagai input untuk pg_restore

Berikut ini yang mendekati:

pg_dump --schema-only --format c dbName | \
  pg_restore --schema-only --clean --dbname=dbNameTest

Kecuali itu tidak berfungsi jika dbNameTest belum ada. Berikut ini melakukan pekerjaan (meskipun mengeluh jika dbNameTest sudah ada. Saya bisa hidup dengan itu)

createdb dbNameTest
pg_dump --schema-only --format c dbName | \
  pg_restore --schema-only --clean --dbname=dbNameTest

Oneliner dengan opsi pendek adalah:

createdb dbNameTest ; pg_dump -s -F c dbName | pg_restore -s -c -d dbNameTest

Skrip sh pg_copy_schema akan menjadi seperti:

#!/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"


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Hibernasi penggunaan dengan banyak utas

  2. Bagaimana menjalankan tes di Django menggunakan database dengan data?

  3. Kesalahan Postgres:Lebih dari satu baris dikembalikan oleh subquery yang digunakan sebagai ekspresi

  4. Hubungkan Aplikasi iPhone ke PostgreSQL Menggunakan Libpq

  5. postgresql mengembalikan 0 jika nilai yang dikembalikan adalah nol