[pgsql-jp: 25950] Re: 壊れたファイルの修復

Hiroki Takada takada @ rh.xdsl.ne.jp
2002年 5月 15日 (水) 00:12:11 JST


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

高田と申します.

こんにちは.

大切なデータが壊れてしまうと大変なことになりますので,必ず,バックアップを取ってから
作業を行って下さい.

> Vine2.1.5にバンドルされていたpostgresql-7.0.3-2vl5.i386.rpmを
> 使っていましたが、不注意でファイルを壊してしまいスタート時に
> 次のようなコメントが出てしまいます。
> 
> [root @ vine rc3.d]# /etc/rc.d/init.d/postgresql start
> /etc/rc.d/init.d/postgresql: syntax error near unexpected token `}'
> /etc/rc.d/init.d/postgresql: /etc/rc.d/init.d/postgresql: line 146: `}'

rpmコマンドはファイルを強制的に置換するコマンドオプションを持っていますが,ご利用に
なっている環境を私が完全に理解しているわけではありません.従って,安全のため,以下
の方法をおすすめします.

適当な作業ディレクトリにおいて,現在インストールしているPostgreSQLパッケージの SRPM
を,

/usr/bin/rpm2cpio (SRPMファイルへのパス) | /bin/cpio -i

で展開します.壊れたファイルは/etc/rc.d/init.d/postgresqlスクリプトとのことですが,
これは展開したファイルの中にある,

postgresql.init-7.0.3

ですので,一応現在の/etc/rc.d/init.d/postgresqlをバックアップした上で,

/usr/bin/install -m 755 postgresql.init-7.0.3 /etc/rc.d/init.d/postgresql

を実行することにより,岸田さんのご指摘通りで上書きできます.

> すでにデーターベースも作成してあり、できればそれはいかして修復したいと思っています。
> Vine2.5のFTPサイトにpostgresql-7.2-0vl3.i386.rpmが掲載されているので
> これにアップデートしようと考えていますが、壊れたファイルの修復、作成済みの
> データーベースはそのまま保持できるのでしょうか?

これも岸田さんからご指摘がありましたが,7.0.3と7.2.xはデータベースクラスタ自身の互換性
がありません.従って大がかりな作業になりますが,別のマシンを用意してpg_dumpallを利用し
て移項と新しい環境での動作確認を行うことになると思います.

併せて,PostgreSQL 7.2.1 Manual Chapter 1. Installation Instructions/1.4. If You Are 
Upgradingも参照してください.

では,


- -- 
 ----------------------------------------------------
|   高田 浩生 (Hiroki Takada/takada @ rh.xdsl.ne.jp)   |
|                                                    |
|   My public key is available at the public key     |
|   servers. The message was signed as iso-2022-jp   |
|   char-set document in no PGP/MINE (RFC 2015)      |
|   format.                                          |
 ----------------------------------------------------


-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.6 (GNU/Linux)
Comment: KUHASIKU WA http://www.gnupg.org/ WO GORANKUDASAI

iD8DBQE84SlKyTl8Jc+E3sERAvCHAJ4x+JjBrEW9gpQ03VGbBpTdMy45tgCfWRhN
g+8f0h8iXZMGrVARZ5ZfNCA=
=93zG
-----END PGP SIGNATURE-----



pgsql-jp メーリングリストの案内