Когда вы создаете таблицы, столбцы, домены, представления и т. Д., Postgres создает их типы, определенные в таблице pg_type, afaik, но вы не можете ссылаться на них, однако вы можете использовать domains (которыетакже основные типы)
CREATE DOMAIN test_domain
AS character varying(70);
проблема с доменами заключается в том, что вы не можете легко изменить их тип данных, однако, если вы используете символьный тип, можно увеличить его.
скажему вас есть домен, который различается символами (64), если вы хотите изменить его длину на 80, вы должны выполнить что-то вроде
UPDATE pg_type set typtypmod = 84 WHERE typname = 'test_domain';
Домены могут быть легко переданы как параметры функции или типы столбцов таблицы.
Это недокументированное и, возможно, небезопасное , хотя и работает.Счетчик начинается с -3, поэтому вам нужно указать свой номер + 4.