postgresqlHow can I use PostgreSQL ENUM data types in my software development project?
PostgreSQL ENUM data types provide a way to define a set of possible values for a column. This can be used to ensure data integrity and avoid errors when inserting data.
Example code
CREATE TYPE status_type AS ENUM ('active', 'inactive', 'deleted');
CREATE TABLE users (
id serial PRIMARY KEY,
name varchar(50) NOT NULL,
status status_type NOT NULL DEFAULT 'active'
);
This code creates a status_type ENUM type and a users table with a status column of the status_type type. The status column will only accept values of active, inactive and deleted.
When inserting data into the users table, you can only insert values that are part of the status_type ENUM. For example:
INSERT INTO users (name, status) VALUES ('John Doe', 'active');
This will insert a row with the name John Doe and a status of active. Attempting to insert a value that is not part of the status_type ENUM will result in an error.
Code explanation
CREATE TYPE status_type AS ENUM ('active', 'inactive', 'deleted'): This creates astatus_typeENUM type with three possible values:active,inactive, anddeleted.CREATE TABLE users (id serial PRIMARY KEY, name varchar(50) NOT NULL, status status_type NOT NULL DEFAULT 'active'): This creates auserstable with anidcolumn,namecolumn, andstatuscolumn of thestatus_typetype. Thestatuscolumn has a default value ofactive.INSERT INTO users (name, status) VALUES ('John Doe', 'active'): This inserts a row with the nameJohn Doeand a status ofactive.
Helpful links
More of Postgresql
- How can I troubleshoot zero damaged pages in PostgreSQL?
- How do I install PostgreSQL and Zabbix on my system?
- How can I use PostgreSQL with Zabbix?
- How can I use PostgreSQL for my project?
- How do I use PostgreSQL's XMIN and XMAX features?
- How can I use PostgreSQL and ZFS snapshots together?
- How can I use PostgreSQL with YAML?
- How can I set a PostgreSQL interval to zero?
- How can I retrieve data from PostgreSQL for yesterday's date?
- How do I parse XML data using PostgreSQL?
See more codes...