1.===================================创建数据库====================================== create database englishdb with encoding 'UTF8' LC_COLLATE='en_GB.UTF8' LC_CTYPE='en_GB.UTF8' TEMPLATE=template0; create database chinadb with encoding 'EUC_CN' LC_COLLATE='C' LC_TYPE='C' TEMPLATE=template0; create database chinadb with encoding 'EUC_CN' LC_COLLCATE='zh_CN' LC_CTYPE='zh_CN' TEMPLATE=template0; --复制数据库 create database TESTBAK TEMPLATE TEST ; 2.===================================表空间====================================== --数据库表空间 select oid,* from pg_tablespace; --创建表空间(已经创建用户lpp) create tablespace lpp owner lpp location '/u01/data04'; \c lpp create schema lpp; alter schema lpp owner to lpp; alter table test set schema jf; \dn List of schemas Name | Owner --------+---------- lpp | lpp public | postgres --表空间路径 \db \db+ --修改表的表空间 alter table test set tablespace tbs01; --修改默认表空间 alter database app set default_tablespace to tbl_app; alter user app set default_tablespace to tbl_app; --查看某个表具体物理路径 select pg_relation_filepath('app.t4'); 3.================================规则(触发器)================================= --增加 create rule rule_mytab_insert as on insert to mytab do also insert into mytab_log(oprtype,oprtime,new_id,new_note) values ('i',now(),new.id,new.note); --修改 create rule rule_mytab_update as on update to mytab do also insert into mytab_log(oprtype,oprtime,old_id,new_id,old_note,new_note) values ('u',now(),old.id,new.id,old.note,new.note); --删除 create rule rule_mytab_delete as on delete do also insert into mytab_log(oprtype,oprtime,old_id,old_note) values ('d',now(),old.id,old.note); 4.================================创建索引================================= --设置一个部分索引以排除普通数值 create index access_log_client_ip_ix on access_log(client_log) where not(client_ip > inet '192.168.100.0' and client_ip < inet '192.168.100.255'); --设置一个部分索引以排除不感兴趣的数值 create index orders_unbilled_index on orders(order_nr) where billed is not true; --设置一个部分唯一索引 create unique index tests_success_constraint on tests (subject,target) where success; 5.==================================序列=================================== create sequence seqtest01; select nextval('seqtest01'); select currval('seqtest01'); --查询上一个seq select lastval(); --查询下一个seq select nextval('seqtest01'); --改变序列的初始值 select setval('seqtest01',1); --查询下一个seq select nextval('seqtest01'); 6.==================================咨询锁 advisory lock======================= --会话1 select pg_advisory_lock(1); --会话2(卡住) begin; select pg_advisory_xact_lock(1); --会话1 select pg_advisory_unlock(1); 7.======================================外部表==================================== --创建外部表 create extension file_fdw; create server file_fdw_server foreign data wrapper file_fdw; create foreign table passwd( username text, pass text, uid int4, gid int4, gecos text, home text, shell text ) server file_fdw_server options(format 'text',filename '/etc/passwd',delimiter ':',null ''); --查询外部表 select * from passwd order by uid asc limit 10; 8.===============================postgres_fdw(远程访问)================================ -----本地创建对象 postgres用户本地安装postgres_fdw插件 create extension postgres_fdw; psql -UJF -d test create table ts08(id int,note text); insert into ts08 values (1,'abcafad'); ----远程服务器创建对象 create extension postgres_fdw; create server postgres_fdw_server foreign data wrapper postgres_fdw options (host '10.212.24.171',dbname 'test',port '5432'); create user mapping for current_user server postgres_fdw_server options(user 'JF',password 'Oracle123'); 创建外部表 create foreign table fts08 (id int ,note text) server postgres_fdw_server options(table_name 'ts08'); 9.====================================数据库性能视图=================================== \x select * from pg_stat_activity; select * from pg_stat_all_tables; select * from pg_stat_sys_tables; select * from pg_stat_user_tables; select * from pg_stat_all_indexes; select * from pg_stat_sys_indexes; select * from pg_stat_user_indexes; 10.=======================================PgBouncer====================================== yum install pgbouncer http://pgfoundry.org 11.=======================================基本函数====================================== --绝对值 select abs(2),abs(-3.3),abs(-33); --平方根 select SQRT(2),SQRT(40); --case when select case 2 when 1 then 'one' when 2 then 'two' else 'more' end; --查看版本 select version(); --查看视图的定义 select pg_get_viewdef('viewname', true); 12.=======================================数据库备份还原====================================== --基础备份 pg_basebackup --pgdata=/home/postgres/backup --host=127.0.0.1 --tablespace-mapping=/u01/data02=/home/postgres/data2 --tablespace-mapping=/u01/data03=/home/postgres/data3 --tablespace-mapping=/u01/postgresql-12.0/data=/home/postgres/data1 --verbose --progress 该备份可以直接启动 chmod +R 750 /home/postgres/backup pg_ctl start -D /home/postgres/backup psql --按schema备份&&恢复 pg_dump -h 10.212.24.103 -p 5432 -Fc -v --schema=jf -f /home/postgres/backup0902 -U jf test
PG_基础查询SQL
来源:这里教程网
时间:2026-03-14 19:58:13
作者:
编辑推荐:
- PG_基础查询SQL03-14
- 多个Excel工作表上插入页码的方法03-14
- Excel 2013中设置立体单元格的方法03-14
- 四个典型应用实例教你学会Excel 2013快速填充功能03-14
- PG_12.0_linux安装03-14
- Excel 2013如何恢复显示丢失的“数据透视表字段列表”窗格03-14
- 启动Excel 2013时不显示开始屏幕的设置方法03-14
- PostgreSQL:COPY03-14
下一篇:
相关推荐
-
雷神推出 MIX PRO II 迷你主机:基于 Ultra 200H,玻璃上盖 + ARGB 灯效
2 月 9 日消息,雷神 (THUNDEROBOT) 现已宣布推出基于英
-
制造商 Musnap 推出彩色墨水屏电纸书 Ocean C:支持手写笔、第三方安卓应用
2 月 10 日消息,制造商 Musnap 现已在海外推出一款 Oce
热文推荐
- 持久内存指令(PMDK)简介
持久内存指令(PMDK)简介
26-03-14 - RockyLinux安全编程实践指南(从零开始掌握Linux系统安全与安全编码)
- PostgreSQL 并发控制机制(2):表级锁和行级锁
PostgreSQL 并发控制机制(2):表级锁和行级锁
26-03-14 - 历史回顾|2019让“PG‘象’前行”活动奔赴上海成功举行
历史回顾|2019让“PG‘象’前行”活动奔赴上海成功举行
26-03-14 - 如何在excel2013中保护工作表
如何在excel2013中保护工作表
26-03-14 - 回顾历史,见证精彩|PostgresConf.CN2019培训日圆满结束! 大会完美收官!
- RockyLinux源码编译安装软件完全指南(手把手教你从零开始构建开发环境)
- 历史回顾|2019让“PG‘象’前行”活动奔赴成都成功举行
历史回顾|2019让“PG‘象’前行”活动奔赴成都成功举行
26-03-14 - PostgreSQL 13.0正式版本发布!更多新特性来袭
PostgreSQL 13.0正式版本发布!更多新特性来袭
26-03-14 - RockyLinux容器最佳实践(从零开始构建安全高效的Docker环境)
