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

列挙値の名前を変更すると、タイプ関係が見つかりません

    列挙型の値の名前変更は、Postgres10以降でのみサポートされています。

    マニュアルに記載されているとおり rename VALUEを使用する必要があります 、rename attributeではありません 列挙型の値の名前を変更します。

    列挙値も文字列定数であり、識別子ではありません。したがって、二重引用符ではなく一重引用符で囲む必要があります。

    ALTER TYPE public.enum_subscription_sub_frequency RENAME VALUE 'BI-WEEKLY' TO 'BI_WEEKLY';
    

    間違った構文で「type...does notexist」エラーが発生する理由がわからない場合:

    オプションRENAME ATTRIBUTEを使用する場合 これは、「通常の」オブジェクトタイプを変更する必要があることを示しているため、Postgresは「実際の」オブジェクトタイプを探します。

    ただし、「列挙型」は「オブジェクト型」ではないため、Postgresは構文エラーではなく、「xyz型が存在しません」と文句を言います。




    1. ウィンドウ関数を使用してTOTALとdaytotalを実行しているORACLESQL

    2. MySQL接続(max_connections)を増やす方法は?

    3. Postgresql:データベーストリガーで一重引用符をエスケープする方法は?

    4. テーブルベースのレコードデータ型を持つ強力な参照カーソル