On 7/6/23 14:52, Lorusso Domenico wrote: > Hello guys, > In my db (version 15) I've defined a composite type with some domains > > CREATE DOMAIN my_feat.audit_record_jsonb_domain > AS jsonb > NOT NULL; > > ALTER DOMAIN my_feat.audit_record_jsonb_domain OWNER TO postgres; > > CREATE DOMAIN my_feat.boolean_true_domain > AS boolean > DEFAULT true > NOT NULL; > > ALTER DOMAIN my_feat.boolean_true_domain OWNER TO postgres; > CREATE TYPE my_feat.bitemporal_record AS > ( > user_ts_range tstzrange, > db_ts_range tstzrange, > has_future_record timestamp with time zone, > audit_record my_feat.audit_record_jsonb_domain, > is_valid my_feat.boolean_true_domain > ); > > ALTER TYPE my_feat.bitemporal_record > OWNER TO postgres; > So I've a table like that: > CREATE TABLE IF NOT EXISTS my_feat.try_bt_info > ( > id bigint NOT NULL GENERATED BY DEFAULT AS IDENTITY ( INCREMENT 1 > START 1 MINVALUE 1 MAXVALUE 9223372036854775807 CACHE 1 ), > bt_info my_feat.bitemporal_record, > CONSTRAINT try_bt_info_pk PRIMARY KEY (id) > )
Seems a long way around to arrive at:
CREATE TABLE IF NOT EXISTS my_feat.try_bt_info ( id bigint NOT NULL GENERATED BY DEFAULT AS IDENTITY ( INCREMENT 1 START 1 MINVALUE 1 MAXVALUE 9223372036854775807 CACHE 1 ) PRIMARY KEY, user_ts_range tstzrange, db_ts_range tstzrange, has_future_record timestamp with time zone, is_valid boolean NOT NULL 't' );
> -- > Domenico L. > > per stupire mezz'ora basta un libro di storia, > io cercai di imparare la Treccani a memoria... [F.d.A.]