[pgsql-jp: 39385] Q) pg_dump/pg_restore serial

User ken ken @ tydfam.jp
2008年 5月 11日 (日) 17:07:08 JST


  山田@町田市です。

環境: PostgreSQL 8.3.1
      FreeBSD-current

 最近 pgpoolを使おうと以前から使っていた(7.0位から)DBをpg_dumpしていて気がついたのですが、serial で作成したseqがちやんと反映されていないのですが、、、?
  pg_dump で作ったファイルを見る限り、
   
SELECT pg_catalog.setval('xxxx_id_seq', 1, true);

 は存在しますし、psql xxx -f db.dump の時の様子を見ていると、ちゃんとこれが実効されているのですが、 restore したDBで、

 select currval('xxxx_id_seq');
ERROR:  currval of sequence "xxxx_id_seq" is not yet defined in this session

と返ってきてしまいます。また、当該のテーブルにinsertを実効すると当然idが0となっています。

FAQなのかもしれませんが、あまりupdateすることのないDBだったので気がつきませんでした。

どのような解決方法があるのでしょうか?






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