On 6/5/23 09:02, Laurenz Albe wrote:
> On Mon, 2023-06-05 at 11:49 +0200, Lorusso Domenico wrote:
>> I've a couple of questions about composite type.
>> Suppose this composite type:
>> CREATE TYPE my_type AS (
>> user_ts_start My_start_timestamp,
>> user_ts_end My_end_timestamp,
>> db_ts_start My_start_timestamp,
>> db_ts_end My_end_timestamp,
>> audit_record jsonb
>> );
>> My_start_timestamp is a domain of timestamp with default as now().
>> My_end_timestamp is a domain of timestamp with default as infinite
>>
>> 1. May I use user_ts_start and/or db_ts_start has part of Primary Key of a table that contains a field of
my_type?
>> 2. to add an overall check constraint on the entire composite type, could be a valid
>> approach to create a domain based on my_type and add a custom function to validate it?
(check_my_type(VALUE)).
>> In this way I've a dominan of composite type that contain others domain... what do you think?
> Avoid using composite types as data types for a table column.
> It adds complexity for no clear gain.
Isn't now() also a bad idea, since it's the "now" at the start of the
transaction?
Better to use clock_timestamp().
--
Born in Arizona, moved to Babylonia.