Entre las múltiples opciones para extender PostgreSQL, está la de la creación de tipos o dominios (según la nomenclatura del estándar SQL). Además de los dominios dados por el tipo de datos predefinidos, el SQL92 nos ofrece la posibilidad de trabajar con dominios definidos por el usuario.
Los dominios son reglas que se aplican a un campo en una tabla. Aplican la integridad de datos porque permiten que se introduzcan en el campo sólo aquellos valores especificados. Los dominios son un tipo de datos con restricciones (restricciones en el conjunto de valores permitidos). Se deben crear primero y luego, al crear una nueva columna, se selecciona el dominio creado.