Re: Composite type: Primary Key and validation

From: Laurenz Albe <laurenz(dot)albe(at)cybertec(dot)at>
To: Lorusso Domenico <domenico(dot)l76(at)gmail(dot)com>, pgsql-general(at)lists(dot)postgresql(dot)org
Subject: Re: Composite type: Primary Key and validation
Date: 2023-06-05 14:02:12
Message-ID: ae41cf7917a17d8399478035e98c65ba91b35e9f.camel@cybertec.at
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

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.

Yours,
Laurenz Albe

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Ron 2023-06-05 14:17:49 Re: Composite type: Primary Key and validation
Previous Message Jelte Fennema 2023-06-05 11:43:42 Re: Adding SHOW CREATE TABLE