sysctlを盛大に間違えてpostgresql 9.3のinitdbに失敗しまくった
9.3はpackagesから入れました。で、initdbをやろうとすると
Failed system call was shmget(key=..., size=40, 03600)
とか言われて共有メモリを下さらない。あと「このメッセージが出るときは共有メモリが足りないときです」というメッセージも出てくる。
40バイトの共有メモリが取れないわけない、と"sysctl -a"とかで確認してたりしたのですが、一向にうまくいかない。
そこで、/etc/sysctl.conf の共有メモリまわりをコメントアウトしてリブート。その後、ひとつずつ/etc/sysctl.confのエントリをsysctlコマンドで設定していって確認。
kern.ipc.shmmin (共有メモリセグメントの最小バイト数)を512ぐらいにしてた。
それ、kern.ipc.shmmni (プロセスごとの共有メモリセグメント最大値) の間違いやないの!! (最後2文字に注目)
kern.ipc.shmminは1にした。なんか辛かったorz