Це на 9.3, але я пам'ятаю подібні речі, що відбуваються з 7.x. Тому я створюю базу даних і встановлюю в неї розширення plpgsql. Пізніше я створюю pg_dump і перед тим, як відновити його в databse, я переконуюсь, що він також має розширення 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, тому я не маю уявлення, чому все це розширення потрапляє на мій смітник. Зрештою, я не є власником мови / розширення?
У будь-якому разі, я буду вдячний за будь-яку пропозицію, як позбутися цього. Зауважте, що я знаю, як працюють перемикачі -l / -L. Однак, здається, це занадто багато зусиль, щоб виправити лише один простий коментар розширення.