postgresql 9.0 のストリーミングレプリケーションを試そうとして、うっかりpg_xlog をごっそり削除したらpostgresqlが起動しなくなった^^;
LOG: invalid secondary checkpoint record PANIC: could not locate a valid checkpoint record LOG: startup process (PID 30232) was terminated by signal 6: Aborted LOG: aborting startup due to startup process failure
pg_resetxlogでWALを初期化する。
$ pg_resetxlog /path/to/datadir
これで起動するけど、documentいわく安心してはいけないらしい。
このコマンドを実行すると、サーバが開始できるようになるはずです。ただし、不完全にコミットされたトランザクションが原因でデータベースのデータに矛盾が起こる可能性があることに注意してください。コマンドの実行後は、データをただちにダンプし、initdbを実行し、リロードすべきです。 リロード後、矛盾がないか検査し、必要に応じて修復を行ってください。