[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 メーリングリストの案内