database - リストア - rds postgres エクスポート




postgresqlデータベースにSQLダンプをインポートする (7)

私たちはホストを切り替えており、古いものは私たちのサイトのpostgresqlデータベースのSQLダンプを提供していました。 今、私はこれをテストするためにローカルのWAMPサーバーで設定しようとしています。

唯一の問題は、私がセットアップしたpostgresql 9でこのデータベースをどのようにインポートできるか考えていないことです。

私はpgAdmin IIIを試みましたが、私は 'インポート'機能を見つけることができません。 だから、私はSQLエディタを開いてそこのダンプの内容を貼り付けて実行しました。テーブルを作成しますが、データを入れようとするとエラーが表示され続けます。

ERROR:  syntax error at or near "t"
LINE 474: t 2011-05-24 16:45:01.768633 2011-05-24 16:45:01.768633 view...

The lines:
COPY tb_abilities (active, creation, modtime, id, lang, title, description) FROM stdin;
t   2011-05-24 16:45:01.768633  2011-05-24 16:45:01.768633  view    nl ...  

私もコマンドプロンプトでこれを試みましたが、私は本当に必要なコマンドを見つけることができません。

私が行った場合

psql mydatabase < C:/database/db-backup.sql;

私はエラーが出る

ERROR:  syntax error at or near "psql"
LINE 1: psql mydatabase < C:/database/db-backu...
        ^

データベースをインポートする最良の方法は何ですか?


funsiesの場合、ダンプが圧縮されている場合、あなたは何かをすることができます

gunzip -c filename.gz | psql dbname

Jacobが言及したように、 PostgreSQLのドキュメントはこれをすべてうまく説明しています。


ここにあなたが探しているコマンドがあります。

psql -h hostname -d databasename -U username -f file.sql

それは私のために働いた:

sudo -u postgres psql db_name < 'file_path'

コマンドラインでうまく動作します。すべての引数が必要です。-Wはパスワードです。

psql -h localhost -U user -W -d database_name -f path/to/file.sql

私はpsqlで動かしたいと思っています:

\i C:/database/db-backup.sql

私はこれがOPの状況でうまくいくかどうかはわかりませんが、対話型コンソールで以下のコマンドを実行することが私にとって最も柔軟な解決策であることがわかりました:

\i 'path/to/file.sql'

あなたがすでに正しいデータベースに接続していることを確認してください。 このコマンドは、指定されたファイル内のすべてのSQLコマンドを実行します。








postgresql