Tôi đã gặp phải một vấn đề tương tự cách đây một thời gian và đã đưa ra một giải pháp rất đơn giản:xóa khỏi bảng danh mục hệ thống pg_description
trực tiếp . Các nhận xét chỉ được "đính kèm" vào các đối tượng và không ảnh hưởng gì khác.
DELETE FROM pg_description WHERE description = 'something special';
Tuyên bố từ chối trách nhiệm:
Thao tác trực tiếp các bảng danh mục là nguy hiểm và một biện pháp cuối cùng. Bạn phải biết mình đang làm gì và bạn đang làm điều đó với rủi ro của riêng bạn! Nếu bạn gặp trục trặc, bạn có thể làm hỏng (cụm) cơ sở dữ liệu của mình.
Tôi đã hỏi về ý tưởng trên danh sách pgsql-admin và nhận được câu trả lời khuyến khích từ Tom Lane :
> DELETE FROM pg_description WHERE description = 'My very special
> totally useless comment.';
> AFAICS, there are no side-effects. Are there any?
It's safe enough, as long as you don't delete the wrong comments.
There's no hidden infrastructure for a comment.
regards, tom lane
Bạn nên đảm bảo rằng không có bất kỳ nhận xét nào mà bạn muốn giữ lại. Lưu ý rằng nhiều đối tượng Postgres cài sẵn cũng có nhận xét.
Ví dụ:chỉ xóa tất cả nhận xét trên các cột của bảng , bạn có thể sử dụng:
SELECT *
-- DELETE
FROM pg_description
WHERE objsubid > 0;
Hướng dẫn sử dụng thông báo về cột objsubid
: