sql >> データベース >  >> RDS >> PostgreSQL

PostgreSQLのすべてのオブジェクトからCOMMENTONを削除する

    私はしばらく前に非常によく似た問題に直面し、非常に簡単な解決策を思いつきました。システムカタログテーブルから削除する 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;
    

    マニュアルには列objsubid> :



    1. PHPソースコードを接続してMySQLデータベースにフォームを送信する

    2. インストール後、WAMPサーバーがWindows10で起動していません

    3. H2で特別な文字列を日付に変換する

    4. PHPの日付範囲をMYSQLの個々の日付に変換する