4

PostgreSQL 8.4 で作業しており、バックアップと復元を行いたい (Ubuntu 11.10 から Ubuntu 12.4 へ)

すべてのパーティション、クラスター、役割などを含めたいです。

私のコマンド: バックアップ:

dumb_all > filename 

圧縮:

zip -f mybackup

解凍して復元します。

sudo gunzip -c /home/ubuntu/Desktop/backupFile.zip | psql -U postgres

問題は復元プロセスにあります。エラーが発生しました

invalid command \.
ERROR:  syntax error at or near "2"
LINE 1: 2 2 1
        ^
invalid command \.
ERROR:  syntax error at or near "1"
LINE 1: ...
        ^
out of memory

さらに、パーティションのあるテーブルは復元されませんでした。また、データなしで復元されたテーブルもあります!

助けてください!

編集

「バックアップサーバー」オプションを使用して、pgAdminを使用してバックアップを行いました。

バックアップ

4

1 に答える 1

3

zip出力を圧縮していた場合はunzip、 ではなく do uncompress itを使用する必要がありgunzipます。異なる形式/アルゴリズムを使用します。

gzipand gunziponlyを使用することをお勧めします。たとえば、 という名前のバックアップを生成した場合、次のようmybackup.sqlに gzip できます。

gzip mybackup.sql

という名前のファイルが生成されますmybackup.sql.gz。次に、復元するには、次を使用できます。

gunzip -c mybackup.sql.gz | psql -U postgres

また、ダンプを行うために pgAdmin を使用しないことをお勧めします。できないわけではありません。自動化できないだけです。pg_dumpall同じ方法で簡単に使用できます。

pg_dumpall -U postgres -f mybackup.sql

パイプを使用して、中間ファイルなしでダンプおよび圧縮できます。

pg_dumpall -U postgres | gzip -c > mybackup.sql.gz

ところで、データベースごとにカスタム形式を避けpg_dumpallて使用することをお勧めします。これにより、結果が圧縮され、後者が使いやすくなります。pg_dumpただしpg_dumpall、小さなデータベースでは問題ありません。

于 2013-10-10T12:19:24.730 に答える