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 use PostgreSQL's XMIN and XMAX features?
- How can I monitor PostgreSQL performance using Zabbix?
- How can I integrate PostgreSQL with Yii2?
- How can I use PostgreSQL with YAML?
- How do I use PostgreSQL's XMLTABLE to parse XML data?
- How do I use PostgreSQL UNION to combine the results of two queries?
- How do I decide whether to use PostgreSQL VARCHAR or TEXT data types?
- How do I use PostgreSQL with Qt?
- How can I retrieve data from PostgreSQL for yesterday's date?
See more codes...