vacuumの実行権限

大量データのDELETE/INSERTを処理するバッチ処理をPHPで走らせていたのですが、回数をこなす毎にDBのパフォーマンスが目に見えて落ちてきたため、処理の最後にvacuumを実行することに。

PHPからvacuumをキックする単純な処理なはずが、これがうまく動かない。
PostgreSQL関数経由ではvacuumは実行できないのかとか、いろいろと悩んでいたところ、ようやくあるエラーログに気が付きました。

WARNING: skipping "tablename" --- only table or database owner can vacuum it

要は実行ユーザの権限の問題でした。
wwwユーザにDBの権限を付与したものを使用していたのですが、vacuumを実行できるユーザーは、
・スーパーユーザー
・DBまたはテーブルのオーナー
に限られるいうことのようです。

関連記事

トラックバック(0)

このブログ記事を参照しているブログ一覧: vacuumの実行権限

このブログ記事に対するトラックバックURL: http://blog.knockoutmarch.com/mt3/mt-tb.cgi/49

コメントする

このブログ記事について

このページは、ko31が2007年9月23日 02:29に書いたブログ記事です。

ひとつ前のブログ記事は「MAX、MINクエリの最適化」です。

次のブログ記事は「検索エンジン巡回登録ページの備忘録」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

RSSフィード

  • 購読する

いろいろ

あわせて読みたい

フィードメーター - ポップフライ

seo

Powered by Movable Type 4.01