PostgreSQL 复制表的 5 种方式
在PostgreSQL中,复制表可以通过多种方式实现。以下是五种常见的复制表的方法:
- 使用
CREATE TABLE ... AS SELECT ...
语句复制表结构及数据。
CREATE TABLE new_table AS TABLE existing_table;
- 使用
CREATE TABLE ... LIKE ...
语句复制表结构但不包括数据。
CREATE TABLE new_table (LIKE existing_table INCLUDING ALL);
- 使用
pg_dump
和psql
命令行工具复制表。
首先导出表:
pg_dump -U username -t existing_table dbname > existing_table.sql
然后导入到新表:
psql -U username -d dbname -f existing_table.sql
- 使用
\copy
命令复制表数据。
\copy existing_table TO 'existing_table.csv' DELIMITER ',' CSV HEADER;
CREATE TABLE new_table (LIKE existing_table);
\copy new_table FROM 'existing_table.csv' DELIMITER ',' CSV HEADER;
- 使用
pg_dump
和psql
命令行工具复制表结构及数据。
pg_dump -U username -t existing_table dbname | psql -U username -d dbname
以上每种方法都有其适用场景,例如,方法1适合复制包括数据在内的表结构,方法2适合仅复制表结构而不包含数据,方法3和方法4适合将表导出为文件后进行复制,而方法5则是一个连续的流程,一步到位地复制表及其数据。
评论已关闭