PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Użyj wyniku pg_dump jako danych wejściowych dla pg_restore

Zbliża się to:

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

Z wyjątkiem tego, że nie działa, jeśli dbNameTest jeszcze nie istnieje. Poniższe wykonuje zadanie (chociaż narzeka, jeśli dbNameTest już istnieje. mogę z tym żyć)

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

Jedna linia z krótkimi opcjami to:

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

Skrypt sh pg_copy_schema wyszłoby coś takiego:

#!/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. Typecast string to integer

  2. Sklonuj rekord, a następnie użyj jego identyfikatora automatycznego inkrementacji do dalszych operacji

  3. Zmiana typu kolumny używanej w innych widokach

  4. Funkcja PostgreSQL Zwróć tabelę

  5. Postgres wstawia wiersz tylko wtedy, gdy liczba wierszy jest poniżej limitu