私はしばらく前に非常によく似た問題に直面し、非常に簡単な解決策を思いつきました。システムカタログテーブルから削除する pg_description
直接 。コメントはオブジェクトに「添付」されるだけで、他の方法で干渉することはありません。
DELETE FROM pg_description WHERE description = 'something special';
免責事項:
カタログテーブルを直接操作することは危険です そして最後の手段の尺度。 自分が何をしているのかを知る必要があります そしてあなたはあなた自身の責任でそれをやっています!失敗すると、データベース(クラスター)を台無しにする可能性があります。
pgsql-adminリストでアイデアについて質問したところ、トムレーンからの励ましの回答 :
> 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;