一佳互联

展开菜单

SQL子查询的感悟

SQL子查询的感悟
今天在听陈华军老师的课时;感触颇多。其中讲到“不同执行计划的选择(子查询)”这一栏。我们在平时工作也经常要用到子查询。有哪些思路来优化这种子查询呢? 例如我们今天实验的表结构 表T1 有10000条记录;并在id字段创建btree索引 表T2 有1000条记录 postgres=# create table t1(id int primary key, info text, reg_time timestamp); CREATE TABLE postgr...

浅谈PostgreSQL用户权限

浅谈PostgreSQL用户权限
问题  经常在PG群里看到有人在问“为什么我对表赋予了权限;但是还是不能访问表”解析  若你看懂德哥这篇文章PostgreSQL逻辑结构和权限体系介绍;上面对你就不是困扰你的问题  解决这个问题很简单;在解决之前;我们要先了解PostgreSQL的逻辑结构、以及与用户之间的关系。盗用德哥的图;来诠释下逻辑结构;PostgreSQL逻辑结构有4层:实例->数据库->schema->数据库对象   可以看出用户不在PostgreSQL里面;是独立之外的...

postgresql强制删除数据库

postgresql强制删除数据库
SELECT pg_terminate_backend(pg_stat_activity.pid) FROM pg_stat_activity WHERE datname='db_name' AND pid<>pg_backend_pid(); drop database db_name;    ...

解惑HOT原理

解惑HOT原理
2020-06-09 19:31:01 一、疑问   前段时间;QQ群里有人对“这个表(0,4)这行数据我做了update操作,查看索引的page数据,看到索引一直指向(0,4),用ctid='(0,4)'查询业务表是查不到数据的;然后我做了表的vacuum,reindex甚至drop/create index,还是这样的”感到疑惑。   在PostgreSQL8.3实现了(heap only tuple)HOT特性。它存在的目的就是消除表非索引列更新对索引影...

在Docker中运行PostgreSQL + pgAdmin 4

在Docker中运行PostgreSQL + pgAdmin 4
拉取postgresql镜像:docker pull postgres运行postgresql:docker run -d -p 5432:5432 --name postgresql -v pgdata:/var/lib/postgresql/data -e POSTGRES_PASSWORD=pg123456 postgres拉取postgresql可视化工具pgadmin4:docker pull dpage/pgadmin4运行pgadmin4:docker run...

PostgreSQL12-主从复制

PostgreSQL12-主从复制
注意:PostgreSQL 12对主从复制实现和配置做了重大改进,如废弃了recovery.conf,并将参数转换为普通的PostgreSQL配置参数,使得配置群集和复制更加简单。PostgreSQL数据库支持多种复制解决方案,以构建高可用性,可伸缩,容错的应用程序,其中之一是预写日志(WAL)传送。该解决方案允许使用基于文件的日志传送或流复制,或者在可能的情况下,将两种方法结合使用来实现备用服务器。使用流复制时,备用(复制从属)数据库服务器被配置为连接到主服务器/主服务器,...

python如何监控PostgreSQL代码运行

python如何监控PostgreSQL代码运行
如何监控PostgreSQL存储过程/函数代码运行?本文介绍用python+微信/邮件的方式进行报警、监控。 首先要有一张表、用于存放PostgreSQL存储过程/函数代码运行异常的信息。 处理原则:若出现异常;把“发生时间+所在的程序+原因”通过微信/邮件发给对应人员。当然发送一次即可;起到通知的效果。 一、媒介 通过什么方式进行发送内容;下面介绍微信/邮件两种方式 1、python发送微信 py_wechar.py的内容 企业微信号;大家可以到企业微信上...

您所不了解的Postgres 10功能:CREATE STATISTICS(译)

您所不了解的Postgres 10功能:CREATE STATISTICS(译)
  原文地址: https://www.citusdata.com/blog/2018/03/06/postgres-planner-and-its-usage-of-statistics/,本文统一将原文中的“planner”译做“优化器”       如果您对Postgres进行了一些性能优化,则可能使用过EXPLAIN。 EXPLAIN向您显示PostgreSQL计划程序为提供的语句生成的执行计划。...

PG-跨库操作-dblink

PG-跨库操作-dblink
在PostgreSQL数据库之间进行跨库操作的方式 dblink postgres_fdw 本文先说说dblink;dblink是一个支持从数据库会话中连接到其他PostgreSQL数据库的插件。在其他数据库跨库操作也是采用dblink的方式 一、安装dblink PostgreSQL插件dblink是PostgreSQL安装包自带的;若安装数据库时没有安装dblink插件;可以自行去编译安装。用使用dblink;先要按照dblink扩展;安装完成之后;...

PG-跨库操作-postgres_fdw

PG-跨库操作-postgres_fdw
接上一篇《PG-跨库操作-dblink》;讲下postgres_fdw的使用;postgres_fdw工作原理详细介绍可以去看下《PostgreSQL指南》第4章; 对FDW特性;还支持在PostgreSQL异构数据库的同步、迁移的场景。FDW随着Postgres版本而升级、优化,对分布式架构也是支持的。 一、新建插件postgres_fdw 安装插件postgres_fdw lottu01=# create extension postgres_fdw; 二、新...