Đây là vào ngày 9.3 nhưng tôi có thể nhớ những thứ simillar xảy ra kể từ 7.x. Vì vậy, tôi tạo cơ sở dữ liệu và cài đặt phần mở rộng plpgsql vào nó. Sau này tôi tạo pg_dump và trước khi khôi phục nó thành cơ sở dữ liệu tôi chắc chắn rằng nó cũng có phần mở rộng plpgsql. Sau đó, khi khôi phục điều này xảy ra:
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';
Tôi đang tạo ra một loạt các tập lệnh và điều khá quan trọng đối với tôi là pg_restore trả về 0, vì vậy thực tế là tôi có thể bỏ qua việc này không có tác dụng gì. Điều khiến tôi băn khoăn là IIRC tôi cần tạo tiện ích mở rộng với tư cách là người dùng chính của postgres, vì vậy tôi không biết tại sao tất cả những thứ TUYỆT VỜI này lại kết thúc trong bãi rác của tôi. Rốt cuộc, tôi không phải là chủ sở hữu của ngôn ngữ / phần mở rộng?
Dù sao, tôi rất vui mừng cho bất kỳ đề nghị làm thế nào để thoát khỏi điều này. Xin lưu ý rằng tôi biết cách các công tắc -l / -L hoạt động. Tuy nhiên, điều này dường như là quá nhiều nỗ lực để sửa chỉ một bình luận mở rộng đơn giản.