cronでのvacuumがやっと実現
- 2008/06/21(土) 01:56:43
全て非公式はPostgreSQL+PHPで作ってる。
どちらかといえば前はMySQL派だったんだが、勉強のつもりでポスグレいじってたらいつの間にやらメインになった感じ。
で、ある程度定期的にvacuumをしないとどんどん遅くなるってことがあるんで、思い出したときにやってたけど、これがけっこうめんどくさかった。
crontabが使えるサーバなので使いたいとずっと思ってたけど、なんだかよく分からず、昨日からいろいろいじってやっと自動で定期vacuumが出来るようになった。
ポイントは、vacuumdbへの絶対パスと、パスワードファイルの.pgpass。
制約で自分のユーザディレクトリ以下しか設定できなかったので、shファイルに下のようにスクリプト書いて、このファイルを叩くようにcronを設定。
#!/bin/sh
/usr/local/pgsql/bin/vacuumdb -d (データベース名) -z
vacuumdbについてはドキュメントを参照。
ちなみに、使ってるのはXREA。
他の会社のサービスだとvacuumdbのパスが違うかもしれないから要確認。
で、ユーザディレクトリのトップに.pgpassを置く。
.pgpassの書式はドキュメントに書かれているように、
hostname:port:database:username:password
だが、ホスティングならhostname、portは「*」にして
*:*:database:username:password
でOKではないかと。
ログの削除や統計などの事務処理が自動化できるのは嬉しいけど、それだけじゃなくPCデータを使った仮想戦闘などいろいろやれそうだ。
この記事にコメントする
- HOME |


この記事に対するコメント