你可以使用PostgreSQL的CREATE TABLE AS
语句来克隆一个表,包括它的数据。但是,这种方法不会复制源表的索引、默认值、约束等。如果你想复制这些,你需要使用CREATE TABLE
和LIKE
语句。
以下是一个例子:
CREATE TABLE new_table AS TABLE existing_table;
这将创建一个新的表new_table
,并将existing_table
的所有数据复制到新表中。但是,这不会复制索引。
如果你想复制表结构(包括索引)但不包括数据,你可以这样做:
CREATE TABLE new_table (LIKE existing_table INCLUDING ALL);
这将创建一个新的表new_table
,并复制existing_table
的表结构,包括默认值、约束、索引等,但不包括数据。
如果你想复制表结构和数据,你可以结合使用这两个命令:
CREATE TABLE new_table (LIKE existing_table INCLUDING ALL);
INSERT INTO new_table SELECT * FROM existing_table;
这将首先创建一个新的表new_table
,复制existing_table
的表结构,然后将existing_table
的所有数据复制到新表中。
领取专属 10元无门槛券
手把手带您无忧上云