On 11/1/24 12:16, thiemo@xxxxxxxxxxxxxxxxxxxx wrote:
Thanks, I shall have a look into it. I was under the assumption the the
create table like would create no more than a structural copy.
Not sure what you mean by structural copy, but the table created by
CREATE TABLE LIKE will not have any association with the table it was
created from.
https://www.postgresql.org/docs/current/sql-createtable.html
"Unlike INHERITS, the new table and original table are completely
decoupled after creation is complete. Changes to the original table will
not be applied to the new table, and it is not possible to include data
of the new table in scans of the original table."
Torsten Förtsch <tfoertsch123@xxxxxxxxx <mailto:tfoertsch123@xxxxxxxxx>>
escribió:
Thiemo,
it looks to me like you are using inheritance just to make sure your
SOURCES and TOPO_FILES tables have some common columns. If you are not
actually querying the TEMPLATE_TECH table and expect to see all the
rows from the other 2 tables in that one table combined, then you
could use CREATE TABLE (LIKE ...) instead of inheritance. That way
your "child" tables would become normal tables and you could use
declarative partitioning on them.
Even if you are querying the TEMPLATE_TECH table, you could still do
that by turning the TEMPLATE_TECH table into a view which performs a
UNION ALL over the other tables.
--
Adrian Klaver
adrian.klaver@xxxxxxxxxxx