web-dev-qa-db-ja.com

PostgreSQLスーパーユーザーにバキュームテーブルへのアクセスを許可するにはどうすればよいですか?

何百ものテーブルのログが次のメッセージで常にいっぱいになっています。

WARNING:  skipping "some_table_name" --- only table or database owner can analyze it

以下を実行したり、解決するにはどうすればよいですか?

  1. これらのテーブルが存在するデータベースを特定しますか?警告にその情報が含まれていればいいのですが。
  2. PostgreSQLのスーパーユーザーに、これらのテーブルに掃除機をかけるアクセス権を付与します
  3. ログファイルでこれらの警告を無効にする

補足:ログファイルのローテーション、トランケーション、サイズ/日付の制限設定も機能していませんが、別の投稿のために保存します。

1
Teflon Ted

クラスターの創設ユーザーからスーパーユーザー権限を取り消したようです。そんなことしないで。残りのスーパーユーザーとしてログインし、創設ユーザーにスーパーユーザー権限を付与します。スーパーユーザーが残っていない場合は、サーバーをシャットダウンして、シングルユーザーモードで起動し、スーパーユーザーの特権を再付与する必要があります。

創設ユーザーは、データベースの作成時にinitdbの-U引数に指定されたユーザー名です。または、その引数が指定されなかった場合は、initdbを実行したOSユーザーの名前です。これは最も頻繁にpostgresです。

2
jjanes

スーパーユーザーにpostgresの権限を復元する必要があります:

ALTER USER postgres WITH SUPERUSER;
0
Christian