[pgsql-jp: 35463] backup&restoreでスーパユーザのパスワードが復元されない
K.Nakatsuka
tanpoko @ wk9.so-net.ne.jp
2005年 6月 6日 (月) 18:32:55 JST
中司と申します。
シーラカンス本(第4版) P372 を参考に
ラージオブジェクトを含むバックアップリストアを
行ってみました。
この時、スーパユーザ(postgres)のパスワードが復元されません。
(他のユーザのパスワードは復元されています)
これは、仕様でしょうか? それとも、私の操作ミスでしょうか?
作業手順:
1. バックアップを行う (★)
2. postgresqlの停止
3. rm .../psql/data でデータエリアを削除
4. initdb --no-locale -E EUC_JP
5. postgresqlの起動
6. リストアを行う (★)
7. pg_shadowの確認
# select * from pg_shadow;
usename | usesysid | <snip> | passwd |
---------+----------+--<snip>--+-------------------------------------+-------
postgres | 1 | <snip> | <ここは空欄> |
user1 | 100 | <snip> | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx |
user2 | 101 | <snip> | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx |
バックアップ&復元シェル
#!/bin/bash
base=/xxxx
dat=$base/7.4
if [ $0 = backup.sh ]; then
echo "backup start" ; sleep 1
pg_dumpall -g > $dat/db.out
pg_dump -b -Fc user1_tb > $dat/user1.dump
pg_dump user2_tb > $dat/user2.out
elif [ $0 = restore.sh ]; then
echo "restore start" ; sleep 1
psql template1 < $dat/db.out
createdb -U user1 user1_tb
createdb -U user2 user2_tb
psql -e -f $dat/user2.out user2_tb
pg_restore -d user1_tb $dat/user1.dump
else
echo no exec SHELL\!
exit;
fi
exit;
環境:
VineLinux3.1 kernel-2.4.27-0vl7.6
postgresql(tar) 7.4.8
--
K.Nakatsuka
(tanpoko @ wk9.so-net.ne.jp)
pgsql-jp メーリングリストの案内