PostgreSQL 创建、删除表

1. PostgreSQL 创建表

(1)创建普通表

create table t1(id int, name text);
或者
create table if not exists t1(id int, name text);

(2)创建带主键的表

create table t2(id int, name text, primary key(id));

(3)创建临时表,在连接断开后临时表会自动删除

create temp table t3(id int, name text);

(4)创建 unlogged 表,这种类型的表不会同步到备库

create unlogged table t4(id int, name text);

(5)查看所有表信息,psql 命令 \d+ 可以列出所有表信息,\d+ 后面跟上具体的表名称,可以查看该表的表结构,如下:

postgres=# \d+
                             List of relations
  Schema   | Name | Type  | Owner | Persistence |    Size    | Description
-----------+------+-------+-------+-------------+------------+-------------
 pg_temp_3 | t3   | table | antpg | temporary   | 8192 bytes |
 public    | t1   | table | antpg | permanent   | 8192 bytes |
 public    | t2   | table | antpg | permanent   | 8192 bytes |
 public    | t4   | table | antpg | unlogged    | 16 kB      |
(4 rows)


postgres=# \d+ t2
                                     Table "public.t2"
 Column |  Type   | Collation | Nullable | Default | Storage  | Stats target | Description
--------+---------+-----------+----------+---------+----------+--------------+-------------
 id     | integer |           | not null |         | plain    |              |
 name   | text    |           |          |         | extended |              |
Indexes:
    "t2_pkey" PRIMARY KEY, btree (id)
Access method: heap

2. PostgreSQL 删除表

(1)删除表

drop table t1;
或者
drop table if exists t1;

(2)级联删除表 cascade,当表有相关的依赖对象时,删除表会报错,可以加上 cascade 级联删除相关的对象。

drop table t2 cascade;

文章评论

0条评论