sql >> データベース >  >> RDS >> PostgreSQL

pg_restoreの入力としてpg_dumpの結果を使用する

    以下が近づいています:

    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"
    


    1. PHP mysqliは、パラメーターなしのストアード・プロシージャーのステートメントを準備しました

    2. SQL * Plusが終了時にコミットするのはなぜですか?

    3. データベースにデータが存在するかどうかを確認する

    4. DB接続で使用可能な行に基づいてDAGを動的に作成する