Сблъсках се с много подобен проблем преди известно време и измислих много просто решение:изтриване от таблицата на системния каталог pg_description
Директната . Коментарите са просто „прикачени“ към обекти и не пречат по друг начин.
DELETE FROM pg_description WHERE description = 'something special';
Отказ от отговорност:
Манипулирането на каталожни таблици директно е опасно и крайна мярка. Трябва да знаете какво правите и го правите на свой собствен риск! Ако се прецакате, може да прецакате вашата база данни (клъстер).
Попитах за идеята в pgsql-admin list и получих окуражаващ отговор от Том Лейн :
> 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
Трябва да се уверите, че няма коментари, които предпочитате да запазите. Първо проверете какво ще изтриете. Имайте предвид, че много вградени обекти на Postgres също имат коментари.
Например само за изтриване на всички коментари в колоните на таблицата , можете да използвате:
SELECT *
-- DELETE
FROM pg_description
WHERE objsubid > 0;
Ръководството информира за колоната objsubid
: