PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Sử dụng kết quả pg_dump làm đầu vào cho pg_restore

Đ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"


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. dấu thời gian postgresql thành giá trị std ::chrono

  2. Chọn tất cả các cột ngoại trừ một số PostgreSQL

  3. Khắc phục “LỖI:thiếu mục nhập mệnh đề FROM cho bảng” trong PostgreSQL khi sử dụng UNION, EXCEPT hoặc INTERSECT

  4. Tạo bản sao của cơ sở dữ liệu trong PostgreSQL

  5. Kiểm tra xem một hàng có tồn tại hay không trong postgresql