一、数据库操作命令
创建数据库 CREATE DATABASE xxxxxxx;
删除数据库 drop databse xxxxx;
查看所有数据库 \l
切换数据库 \c xxx
二、模式的更改
a)重命名:
alter schema 旧名字 to 新名字;
b)修改模式的归属用户:alter schema 模式名 to 新用户;
模式的删除:drop schema 模式名;
三、表操作命令
\d # 列出数据库中所有表
\d [table_name] # 显示指定表的结构
\di # 列出数据库中所有 index
\dv # 列出数据库中所有 view
四、建表和索引
CREATE TABLE public.doors_info (
seq integer GENERATED ALWAYS AS IDENTITY PRIMARY KEY ,
ds varchar(10) DEFAULT '',
linkid1 varchar(32) DEFAULT '',
linkid2 varchar(32) DEFAULT '',
loc varchar(32) DEFAULT '',
tx_gate_type varchar(64) DEFAULT '',
gd_navigation_type varchar(64) DEFAULT '',
door_passage varchar(64) DEFAULT ''
);# 创建索引
CREATE INDEX linkid1_index ON doors_info (linkid1);
CREATE INDEX linkid2_index ON doors_info (linkid2);
CREATE INDEX loc_index ON doors_info using gist(loc);# 删除索引
DROP INDEX loc_index
# 修改表的类型
alter table public.doors_info alter column loc type varchar(64) USING loc::geometry;
# 删除表
DROP TABLE public.doors_info
# 删除数据
DELETE FROM doors_info WHERE seq=2;# 插入数据
insert into public.doors_info (ds, linkid1, linkid2, loc, tx_gate_type, gd_navigation_type, door_passage) values ('20231219', '1','2','Point (112.113232 34.342344)', 'ttest','dd','ddd');
五、分区
参考这篇文章写的很好
PostgreSQL数据库表分区介绍-四种分区方式_postgresql 分区-CSDN博客
1、分区表
CREATE TABLE public.doors (
ds varchar(10) DEFAULT '',
linkid1 varchar(32) DEFAULT '',
linkid2 varchar(32) DEFAULT '',
loc_geometry geometry ,
loc varchar(32) DEFAULT '',
tx_gate_type varchar(64) DEFAULT '',
gd_navigation_type varchar(64) DEFAULT '',
door_passage varchar(64) DEFAULT ''
) PARTITION BY list (ds);
2、创建分区
create table doors_20231225 partition of doors (ds,linkid1,linkid2,loc_geometry,loc,tx_gate_type,gd_navigation_type,door_passage) for values in ('20231225');
3、分区索引
不能给主表建,只能给分区表建。
CREATE INDEX linkid1_index ON doors_info_20231225 (linkid1);
CREATE INDEX linkid2_index ON doors_info_20231225 (linkid2);
CREATE INDEX loc_index ON doors_info_20231225 using gist(loc_geometry);
4、删除分区
drop table doors_20231225;
六、查询
# 和mysql查询一样 \g\x\g 让数据纵向显示
select * from t1 where online_id in('12406815732813095401')\g\x\g;