Hi all,
I hope this is the right list for my question, if not, please let me know to which list I should send the question.
I'd like to know whether there is any way to control the order of inherited columns?
This is purely an issue of syntactic sugar for me. I'd like to be able to do the following:
create table my_standard_metadata (created_ts timestamp default now() not null, updated_ts timestamp, deactived_ts timestamp);
create table foo (field1 text, field2 text) inherits (my_standard_metadata);
Currently, this results in:
Column | Type | Collation | Nullable | Default
--------------+-----------------------------+-----------+----------+---------
created_ts | timestamp without time zone | | not null | now()
updated_ts | timestamp without time zone | | |
deactived_ts | timestamp without time zone | | |
"foo_pkey" PRIMARY KEY, btree (email)
Inherits: my_standard_metadata
and have the resulting table be described as follows
postgres=# \d foo
Table "public.foo"
Column | Type | Collation | Nullable | Default
--------------+-----------------------------+-----------+----------+---------
field1 | text | | |
field2 | text | | |
created_ts | timestamp without time zone | | not null | now()
updated_ts | timestamp without time zone | | |
deactived_ts | timestamp without time zone | | |
Indexes:
"foo_pkey" PRIMARY KEY, btree (email)
Inherits: my_standard_metadata
Is what I am thinking of worth pursuing? Or does it misuse the concept of inheritance in the postgres context?
Thanks for any thoughts!