CREATE TABLE AS with PRIMARY KEY in one statement (PostgreSQL) CREATE TABLE AS with PRIMARY KEY in one statement (PostgreSQL) postgresql postgresql

CREATE TABLE AS with PRIMARY KEY in one statement (PostgreSQL)


According to the manual: create table and create table as you can either:

  • create table with primary key first, and use select into later
  • create table as first, and use add primary key later

But not both create table as with primary key - what you wanted.


If you want to create a new table with the same table structure of another table, you can do this in one statement (both creating a new table and setting the primary key) like this:

create table mytable_clone (like mytable including defaults including constraints including indexes);


No, there is no shorter way to create the table and the primary key.