PostgreSQL 14.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値) ADD VALUE '値’

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	city	tokyo
public	city	oosaka
public	city	fukuoka

5.列挙型(enum)値を追加します

postgres=# alter type citys add value 'yokohama';
ALTER TYPE

7.追加後列挙型(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

 

PostgreSQL

Posted by arkgame