PostgreSQL14.4に列挙型(ENUM)値を変更する方法
環境
OSバージョンの確認
# cat /etc/redhat-release Rocky Linux release 9.0 (Blue Onyx)
PostgreSQLバージョンの確認
# psql --version psql (PostgreSQL) 14.4
構文
1.ENUM値を作成します
CREATE TYPE 列挙型名 AS ENUM (値1 , 値2 ,...)
CREATE TYPEを使って、列挙型(ENUM)を作成します。
2.ENUM値を変更する構文
ALTER TYPE 列挙型(ENUM値) RENAME VALUE '変更前の値' TO '変更後の値';
PostgreSQL 14.4に列挙型(ENUM値)値を追加する手順
1.列挙型を作成します
postgres=# create type citys as enum('tokyo','oosaka','fukuoka'); CREATE TYPE
2.列挙型(enum)値を確認します
SQL構文
select pn.nspname, pt.typname, pe.enumlabel from pg_type pt join pg_enum pe on pt.oid = pe.enumtypid join pg_catalog.pg_namespace pn ON pn.oid = pt.typnamespace
実行結果
nspname typname enumlabel public citys tokyo public citys oosaka public citys fukuoka public citys yokohama
3.列挙型(ENUM)値を変更します
postgres=# ALTER TYPE citys RENAME VALUE 'tokyo' TO 'shinagawa'; ALTER TYPE
列挙型(ENUM)値変更後を確認します
SQL構文
select pn.nspname, pt.typname, pe.enumlabel from pg_type pt join pg_enum pe on pt.oid = pe.enumtypid join pg_catalog.pg_namespace pn ON pn.oid = pt.typnamespace
実行結果
nspname typname enumlabel public citys oosaka public citys fukuoka public citys yokohama public citys shinagawa