create table as
funkce v PostgreSQL může být nyní odpovědí, kterou OP hledal.
https://www.postgresql.org/docs/9.5/static /sql-createtableas.html
create table my_table_copy as
select * from my_table
Tím se vytvoří identická tabulka s daty.
Přidání with no data
zkopíruje schéma bez dat.
create table my_table_copy as
select * from my_table
with no data
Tím se vytvoří tabulka se všemi daty, ale bez indexů a spouštěčů atd.
create table my_table_copy (like my_table including all)
Vytvořená tabulka, jako je syntaxe, bude zahrnovat všechny spouštěče, indexy, omezení atd. Ale nezahrnuje data.