これは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マスターユーザーとして拡張機能を作成する必要があることです。そのため、この拡張機能がすべてダンプに終わる理由がわかりません。結局のところ、私は言語/拡張機能の所有者ではありませんか?
とにかく、私はこれを取り除く方法の提案に感謝します。-l / -Lスイッチがどのように機能するかを知っていることに注意してください。しかし、これはたった1つの単純な拡張コメントを修正するにはあまりにも手間がかかるようです。