まず、列挙型を作成する方法から始めましょう。以下の例では、"status"という列挙型を作成し、3つの有効な値 ("active", "inactive", "pending") を定義しています。
CREATE TYPE status AS ENUM ('active', 'inactive', 'pending');
次に、列挙型を使用してテーブルを作成し、列に制約を追加します。以下の例では、"users"というテーブルを作成し、"status"列に列挙型を使用して制約を追加しています。
CREATE TABLE users (
id SERIAL PRIMARY KEY,
name VARCHAR(100),
status status
);
データを挿入する際には、列挙型で定義した値のいずれかを指定する必要があります。例えば、以下のように挿入することができます。
INSERT INTO users (name, status) VALUES ('John Doe', 'active');
また、列挙型を使用してクエリを実行することもできます。例えば、特定のステータスのユーザーを取得するクエリを以下に示します。
SELECT * FROM users WHERE status = 'active';
さらに、列挙型を使用して条件を組み合わせたクエリも実行できます。以下は、"active"ステータスのユーザーの数をカウントするクエリの例です。
SELECT COUNT(*) FROM users WHERE status = 'active';
このように、PostgreSQLの列挙型を使用することで、特定の値のセットを定義し、データ分析に役立てることができます。