create table as
funkcja PostgreSQL może być teraz odpowiedzią, której szukał OP.
https://www.postgresql.org/docs/9.5/static /sql-createtableas.html
create table my_table_copy as
select * from my_table
Spowoduje to utworzenie identycznej tabeli z danymi.
Dodanie with no data
skopiuje schemat bez danych.
create table my_table_copy as
select * from my_table
with no data
Spowoduje to utworzenie tabeli ze wszystkimi danymi, ale bez indeksów, wyzwalaczy itp.
create table my_table_copy (like my_table including all)
Utworzona tabela, taka jak składnia, będzie zawierać wszystkie wyzwalacze, indeksy, ograniczenia itp. Ale nie zawiera danych.