当前位置:网站首页>Table replication in PostgreSQL

Table replication in PostgreSQL

2022-07-07 11:14:00 Autumn Li

PostgreSQL Two methods are provided for table replication :
1、create table as
2、create table like

Data preparation

Create a sequence 、 Primary key 、 notes 、CHECK Constrained tmp The table is used for subsequent tests :

create table tmp(
 id SERIAL,
 name VARCHAR(100) primary key,
 num int CHECK(10<num and num<100)
);
comment on column tmp.id is ' Identification code ';
comment on column tmp.name is ' name ';
comment on column tmp.num is ' Number ';

insert into tmp(name,num) VALUES(' Apple ',61);
insert into tmp(name,num) VALUES(' Banana ',51);

Tabular DDL Exhibition :
 Insert picture description here

Let's talk about the results of the two table replication methods :

create table as

Quite conventional method , When copying the table structure, you can also bring data . However, this copy will lose the comments of the original table 、 Constraints and other information .

create table tmp_x as select * from tmp where name=' Apple ';

DDL:
 Insert picture description here

create table like

grammar :create table tar_table LIKE source_table [ like_option ... ]
like_option There are several options :
1、INCLUDING COMMENTS: notes
2、INCLUDING CONSTRAINTS :CHECK constraint
3、INCLUDING DEFAULTS: The default expression defined by the copied column will be copied . The default behavior is to exclude the default expression , The default value of the copied column in the new table is null . Be careful , If the default value of the copy calls the database modification function ( Such as nextval), It is possible to create a functional connection between the original table and the new table .
4、INCLUDING IDENTITY: Copy the identification statement defined by the copy field . Create a new sequence for each identity column of the new table , The sequence related to the old table is distinguished .
5、INCLUDING INDEXES : Primary key constraint And index constraints
6、INCLUDING STORAGE: The copied column defines STORAGE Settings will be copied . The default behavior excludes STORAGE Set up , This causes the copied columns in the new table to have type related default settings
7、INCLUDING STATISTICS: The extended statistics will be copied to the new table
8、INCLUDING ALL: yes INCLUDING COMMENTS INCLUDING CONSTRAINTS INCLUDING DEFAULTS INCLUDING IDENTITY INCLUDING INDEXES INCLUDING STATISTICS INCLUDING STORAGE. Short form of .

Generally, we only use INCLUDING COMMENTS INCLUDING CONSTRAINTS INCLUDING INDEXES That's enough .

Example 1:

create table tmp_a (like tmp); 

Example 2:
Use only INCLUDING DEFAULTS Copy column definitions

create table tmp_b (like tmp INCLUDING defaults);

Example 3:
Use INCLUDING COMMENTS INCLUDING CONSTRAINTS INCLUDING INDEXES Copy notes 、 constraint

create table tmp_c (like tmp INCLUDING comments including constraints including indexes);

Of various copy results DDL:


Example 1

Example 2

Example 3

PostgreSQL 11.2 manual

The spring tide is even with the sea , The moon and the tide rise in the sea . -- Zhang Ruoxu 《 The spring river and the moon 》

原网站

版权声明
本文为[Autumn Li]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/188/202207070903240877.html