PostgreSQL comes with several data types, but users can create custom types to faithfully represent any value. Data type management is mostly, but not exclusively, a developer's job, and data type design goes beyond the scope of this book. This is a quick recipe that covers only the simpler problem of the need to apply a specific change to an existing data type.
Enumerative data types are defined like this:
CREATE TYPE satellites_urani AS ENUM ('titania','oberon');
The other popular case is composite data types, which are created as follows:
CREATE TYPE node AS ( node_name text, connstr text, standbys text[]);
If you made a mistake in the spelling of some enumerative values, and you realize it too late, you can fix it like so:
ALTER TYPE satellites_urani RENAME VALUE ‘titania’ TO 'Titania';
ALTER TYPE satellites_urani RENAME VALUE ‘oberon’ TO 'Oberon';
This is very useful if the application expects—and uses—the right names.
A...