It looks to me basically to be a "create table A as select * from B where false".
01.11.2024 20:38:15 Adrian Klaver <adrian.kla...@aklaver.com>: > On 11/1/24 12:16, thi...@gelassene-pferde.biz 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 <tfoertsch...@gmail.com <mailto:tfoertsch...@gmail.com>> >> 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.kla...@aklaver.com