質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

PostgreSQL

PostgreSQLはオープンソースのオブジェクトリレーショナルデータベース管理システムです。 Oracle Databaseで使われるPL/SQLを参考に実装されたビルトイン言語で、Windows、 Mac、Linux、UNIX、MSなどいくつものプラットフォームに対応しています。

Red Hat Enterprise

Red Hat Enterpriseは、レッドハット社により開発・サポートが行われている業務向けLinuxディストリビューションです。オープンソースで無償で利用することができ、バイナリ版の入手・サポートは有償です。商用ディストリビューションとして人気が高く、代表的なLinuxの選択肢の一つです。

Q&A

解決済

3回答

5284閲覧

PostgreSQLのリストア、復元について

kobahito

総合スコア87

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

PostgreSQL

PostgreSQLはオープンソースのオブジェクトリレーショナルデータベース管理システムです。 Oracle Databaseで使われるPL/SQLを参考に実装されたビルトイン言語で、Windows、 Mac、Linux、UNIX、MSなどいくつものプラットフォームに対応しています。

Red Hat Enterprise

Red Hat Enterpriseは、レッドハット社により開発・サポートが行われている業務向けLinuxディストリビューションです。オープンソースで無償で利用することができ、バイナリ版の入手・サポートは有償です。商用ディストリビューションとして人気が高く、代表的なLinuxの選択肢の一つです。

0グッド

1クリップ

投稿2015/11/11 01:18

##PostgreSQLのバックアップとリストアについて

redhat環境上のPostgreSQLでDBバックアップをとり、そのバックアップをyahooメールなどに添付して、別のWindowsPCで仮想環境CentOS6.5上にそのバックアップを用意し、PostgreSQLでDBのリストアを試みました。

2つのDBをリストアしたのですが、内1つは成功し、内1つは途中でエラーを起こしてしまいました。

-----エラー文------
gzip: /var/tmp/backup/xx.tar.gz: unexpected end of file
ERROR: invalid byte sequence for encoding "UTF8": 0xe4b8
CONTEXT: COPY ni_zip, line 101254
------ここまで------

といったエラーです。
少し調べてみまして、
/usr/local/ni/pgsql9/data/postgresql.confの
client_encodingの値をUTF8にしてみましたが駄目でした。

原因も解決策もわからないのですが、詳しい方がいらっしゃいましたら、お教えいただきたいです。

一応リストアの仕方を以下に記します。

------リストア------
/var/tmp/backupに"xx.tar.gz"がある状態。
psqlで、
createdb -E UTF8 DB名

gunzip -c /var/tmp/backup/xx.tar.gz | psql DB名
-----ここまで-------

↑のgunzipコマンドを実行する際に途中まで実行した後、エラーが発生します。

よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

ベストアンサー

エラーメッセージは、gunzipコマンドでの解凍エラーに見えます。おそらくRedhatからWindows経由してCentOSへ移動したときに壊れたのだと思います。

redhatからメール添付時、Windowsからcentosへのコピー時などで失敗しているのではないでしょうか。
もしFTPを利用したならば、ascii転送モードを使っていないか、確認してみてください。

投稿2015/11/11 01:50

shanxia

総合スコア1038

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kobahito

2015/11/11 02:05

自己解決しました。 しかし皆さん回答が的確でありがたいです。こちら一番状況にあっていた回答でしたのでベストアンサーをつけさせていただきます。 メールに添付する際にファイルが破損したようです。直接redhatのIPアドレスを使用してFTP転送したところ無事成功しました。 ありがとうございました。
guest

0

gunzipコマンドを実行する際に途中まで実行した後、エラーが発生します。

という事であれば、バックアップ、リストアの以前に、作成(あるいはメール転送)したアーカイブ(tar.gz)が破損しているのではありませんか?

ちなみに、バックアップの圧縮前のファイルサイズはどれくらいですか?

(CentOSに標準でインストールされている)zip だと2GBの壁(仕様上のサイズ制限)があるので、もしサイズが大きいなら bz2 など別の圧縮方法を試してみると良いです。(ご参考)

投稿2015/11/11 01:53

pi-chan

総合スコア5936

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

gzip でエラーが出ていますので、ファイルが壊れたか、gzip 形式ではないのだと思います。
file コマンドで形式を確認してみてください。

$ file xx.tar.gz $ zcat xx.tar.gz | file -

また、ファイル名が .tar.gz ということは、gzip ではなく tar+gzip ではないのですか?

投稿2015/11/11 01:42

TaichiYanagiya

総合スコア12146

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問