Если вы хотите использовать datetime2
в качестве синонима для типа timestamp
в PostgreSQL, используйте вместо домена тип:
create domain datetime2 as timestamp;
Тогда ваш актерский состав будет работать так:
SELECT CAST('1/1/2018' AS datetime2);
┌─────────────────────┐
│ datetime2 │
├─────────────────────┤
│ 2018-01-01 00:00:00 │
└─────────────────────┘
Кроме имени, он будет иметь то же поведение, что и оригинальный timestamp
тип.
Что вы делаете в своем вопросе, это создаете составной тип (запись с одним полем date2
типа timestamp
), который также может быть очень полезным, но для других видов задач.