Это на 9.3, но я могу вспомнить аналогичные вещи, происходящие с 7.x. Поэтому я создаю базу данных и устанавливаю в нее расширение plpgsql. Позже я создаю pg_dump и, прежде чем восстановить его в базе данных, убедитесь, что он также имеет расширение plpgsql. Тогда при восстановлении это происходит:
pg_restore: creating EXTENSION plpgsql
pg_restore: creating COMMENT EXTENSION plpgsql
pg_restore: [archiver (db)] Error while PROCESSING TOC:
pg_restore: [archiver (db)] Error from TOC entry 2053; 0 0 COMMENT EXTENSION plpgsql
pg_restore: [archiver (db)] could not execute query: ERROR: must be owner of extension plpgsql
Command was: COMMENT ON EXTENSION plpgsql IS 'PL/pgSQL procedural language';
Я создаю кучу скриптов, и для меня очень важно, что pg_restore возвращает 0, поэтому тот факт, что я могу просто проигнорировать это, не приносит никакой пользы. Что меня озадачивает, так это то, что IIRC мне нужно создать расширение как основной пользователь postgres, поэтому я понятия не имею, почему весь этот материал EXTENSION попадает в мой дамп. Ведь я не владелец языка / расширения?
В любом случае, я был бы благодарен за любое предложение, как избавиться от этого. Обратите внимание, что я знаю, как работают ключи -l / -L. Однако, это кажется слишком большим усилием, чтобы исправить только один простой комментарий расширения.