Dies ist auf 9.3, aber ich kann mich an ähnliche Ereignisse seit 7.x erinnern. Also erstelle ich eine Datenbank und installiere die plpgsql-Erweiterung darin. Später erstelle ich einen pg_dump und bevor ich ihn in die Datenbank zurückspeichere, stelle ich sicher, dass er auch die Erweiterung plpgsql hat. Wenn Sie dies wiederherstellen, geschieht Folgendes:
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';
Ich erstelle eine Reihe von Skripten und es ist ziemlich wichtig für mich, dass pg_restore 0 zurückgibt. Die Tatsache, dass ich dies einfach ignorieren kann, ist also nicht gut. Was mich verwundert, ist, dass ich als postgres-Master-Benutzer eine Erweiterung für IIRC erstellen muss, sodass ich keine Ahnung habe, warum all das EXTENSION-Zeug in meinem Dump landet. Immerhin bin ich kein Besitzer der Sprache / Erweiterung?
Wie auch immer, ich wäre dankbar für jeden Vorschlag, wie ich das loswerden könnte. Bitte beachten Sie, dass mir bekannt ist, wie die Schalter -l / -L funktionieren. Dies scheint jedoch viel zu aufwendig zu sein, um nur einen einfachen Erweiterungskommentar zu korrigieren.