My logs are constantly filling up with these messages for hundreds of tables:

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

How do I perform any the following and/or resolve this?

  1. Determine in which database(s) these tables reside? Would be nice if the warning included that information.
  2. Grant the PostgreSQL superuser access to vacuum these tables
  3. Disable these warnings in the log file

Side note: none of the log file rotation, truncation, size/date limits settings are working either but I'll save that for a separate post.


It sounds like you revoked superuser privileges from the cluster's founding user. Don't do that. Log in as your remaining superuser, and grant superuser privileges back to the founding user. If you have no remaining superusers, then you need to shut down the server, start it up in single-user mode, and regrant superuser privs.

The founding user is the username specified to initdb's -U argument when the database was created, or if that argument was not provided, then it is the name of the OS user who ran the initdb. This is most often postgres.

| improve this answer | |
  • Thank you for responding. > from the cluster's = It's a standalone server. > This is most often postgres. = It is. > grant superuser privileges back to the founding user ted=# ALTER USER postgres WITH SUPERUSER; ALTER ROLE -- This seems to have resolved it. – Teflon Ted Feb 20 '17 at 14:44

You need to restore postgres' rights to superuser:

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.