随笔分类 -  PostgreSQL

摘要:跨表更新 update test t1 set field1=t2.field1 from test2 t2 where t1.id=t2.id copy导入csv copy sexit from 'e:/sexit.csv' delimiter as '|' csv quote as ''''; 阅读全文 »
posted @ 2021-06-28 20:33 lottu 编辑
摘要:开发同事在自己的windos电脑搭建了PostgreSQL,但是应用程序连接数据库,出现“数据库的连接太多了**”。由于未设置详细的log内容;只获取到这个信息。 先查看实例的max_connections; show max_connections; select name, setting, c 阅读全文 »
posted @ 2021-04-24 11:02 lottu 阅读(3126) 评论(0) 推荐(0) 编辑
摘要:一、背景 对于PostgreSQL处理MVCC(数据文件中新增tuple)的方式;相比其他数据库(Oracle、Mysql)而言;更容易触发表/索引膨胀。因为update操作也会影响表膨胀的问题。PostgreSQL处理的方式是对表autovacuum,vacuum是不会降低水位线。能避免表、索引膨 阅读全文 »
posted @ 2021-03-17 15:06 lottu 阅读(1853) 评论(0) 推荐(0) 编辑
摘要:于2021-02-24日;“广告推广平台” 的数据库服务器正式成功上 ucloud 云。采用repmgr的主备切换 switchover 的方式。运行正常,数据验证一致。定时任务运行也正常。 第二天;即2021-02-25日;在物化视图更新时。出现 > ERROR: could not read b 阅读全文 »
posted @ 2021-02-25 11:56 lottu 阅读(241) 评论(0) 推荐(0) 编辑
摘要:最近项目中数据库服务迁移到U_cloud云服上,有些项目中数据量比较少,在迁移过程;表数据迁移过去;但是序列需要重置下;接下来讲到如何快速获取同步序列的SQL 一、构建同步序列函数 CREATE OR REPLACE FUNCTION "pg_sync_seq"() RETURNS TABLE("s 阅读全文 »
posted @ 2021-01-26 15:13 lottu 阅读(1069) 评论(0) 推荐(0) 编辑
摘要:在PostgreSQL中;说得连接池,立马想到pgbouncer。pgbouncer 的目标是降低因为新建到 PostgreSQL/Greenplum 的连接而导致的性能损失。 在项目中;DBA会劝开发人员使用连接池。这样可以控制连接数。也避免反复建立连接带来的性能消耗。对连接池的优点。这篇文章讲解 阅读全文 »
posted @ 2021-01-19 14:38 lottu 阅读(496) 评论(0) 推荐(0) 编辑
摘要:PostgreSQL 引进“分区”表特性,解放了之前采用“表继承”+ “触发器”来实现分区表的繁琐、低效。而添加分区,都是手动执行 SQL。 **演示目的:**利用 python 来为 PostgreSQL 的表自动添加分区。 python版本: python3+ pip3 install psyc 阅读全文 »
posted @ 2021-01-04 10:26 lottu 阅读(2071) 评论(0) 推荐(0) 编辑
摘要:在 PostgreSQL 的事务中;执行的SQL遇到错误(书写,约束限制);该事务的已经执行的SQL都会进行rollback。那如何忽略其中的错误。将SQL执行到底?在事务中设置 ON_ERROR_ROLLBACK 即可。 下面演示 1、未作任何设置 演示脚本 begin; -- 1、创建表tbl_ 阅读全文 »
posted @ 2020-12-09 16:03 lottu 阅读(1781) 评论(0) 推荐(0) 编辑
摘要:描述 pg_probackup是由俄罗斯PG社区组织Postgres Professional发布的一个用于管理PostgreSQL数据库备份和恢复的工具。支持PostgreSQL9.5+的版本;是基于pg_rman扩展而来 安装和设置 wget https://github.com/postgre 阅读全文 »
posted @ 2020-12-07 16:44 lottu 阅读(2843) 评论(0) 推荐(0) 编辑
摘要:1、age函数 用于获取两个时间相差 audit=# select age('2020-01-01 17:53:02' :: TIMESTAMP , '2020-01-01 17:46:20' :: TIMESTAMP); age 00:06:42 (1 row) -- 等价于 select '20 阅读全文 »
posted @ 2020-11-26 11:23 lottu 阅读(2085) 评论(0) 推荐(0) 编辑
摘要:一、流复制的机制 PostgreSQL流复制是基于wal日志。主库产生wal日志并发送给备库;备库接收wal日志记录;并重放这些wal日志。从而达到主备库数据同步。备库只读。 二、冲突检测机制 PostgreSQL流复制中备库是只读的;备库在读某些记录时;跟主库执行的ddl操作/或者一些维护操作。例 阅读全文 »
posted @ 2020-11-17 11:08 lottu 阅读(730) 评论(0) 推荐(0) 编辑
摘要:novel开发重建visit表;没考虑之前的visit表是分区表;过了几天;平台数据迟迟未出。visit表一天大概3-4G的量级。 1、获取非分区表的大小,以及最开始的数据 这个好确定分区从那个时间开始 --获取大小 select pg_size_pretty(pg_relation_size('t 阅读全文 »
posted @ 2020-11-11 11:22 lottu 阅读(1088) 评论(0) 推荐(0) 编辑
摘要:官网地址 一、Bucardo介绍 Bucardo 是基于表复制的系统 Bucardo 可以实现PostgreSQL数据库的双master/多master的方案 Bucardo的核心是一个Perl守护进程,它侦听通知请求并对其进行操作,方法是连接到远程数据库并来回复制数据。 守护进程需要的所有特定信息 阅读全文 »
posted @ 2020-11-04 11:31 lottu 阅读(2459) 评论(1) 推荐(2) 编辑
摘要:近日;novel 项目需要搭建一个测试数据库;并且需要测试数据。如何快速打造模拟生产环境的测试数据库?下面揭晓。 一、准备环境 安装PostgreSQL软件 安装线上环境PostgreSQL数据所需的扩展 创建所需要的目录;并分配权限 二、拷贝数据库 你使用 “pg_start_backup+scp 阅读全文 »
posted @ 2020-10-15 14:21 lottu 阅读(719) 评论(0) 推荐(0) 编辑
摘要:在使用 awk 脚本;数组是一大利器;在很多场景是用数组能处理。 在 python 中,数据类型list;相当于array类型。 在 Oracle 中,对 array 不够友好,感觉像是鸡肋。但是在 PostgreSQL 中,对array有很多支持,很多场景可以应用到。下面慢慢说 1、any(arr 阅读全文 »
posted @ 2020-09-25 15:07 lottu 阅读(984) 评论(0) 推荐(0) 编辑
摘要:https://github.com/HypoPG/hypopg 1、安装 wget https://github.com/HypoPG/hypopg/archive/1.1.3.zip unzip 1.1.3.zip cd hypopg-1.1.3/ source /home/postgres/. 阅读全文 »
posted @ 2020-09-22 11:14 lottu 阅读(201) 评论(0) 推荐(0) 编辑
摘要:在 Oracle 中 regexp_like 只能用于条件表达式,和 like 类似;而在 PostgreSQL 没有regexp_like 函数;与之等价的函数有 regexp_match 一、regexp_match regexp_match(string, pattern[, flags ]) 阅读全文 »
posted @ 2020-09-07 17:49 lottu 阅读(11252) 评论(0) 推荐(0) 编辑
摘要:一、背景 在工作中,可能会遇到将表从一个表空间移动另一个表空间。例如 * 对数据进行冷处理 * 表空间所在的磁盘空间不足 * 建表时分配错了表空间 以上等等,可能需要你将一个表移动表空间。 二、表空间介绍 PostgreSQL的表空间 三、移动数据文件方法 我们先打造下环境;创建两个表空间 post 阅读全文 »
posted @ 2020-09-01 18:44 lottu 阅读(1346) 评论(0) 推荐(1) 编辑
摘要:接上一篇《PG-跨库操作-dblink》;讲下postgres_fdw的使用;postgres_fdw工作原理详细介绍可以去看下《PostgreSQL指南》第4章; 对FDW特性;还支持在PostgreSQL异构数据库的同步、迁移的场景。FDW随着Postgres版本而升级、优化,对分布式架构也是支 阅读全文 »
posted @ 2020-07-20 15:07 lottu 阅读(3030) 评论(0) 推荐(0) 编辑
摘要:在PostgreSQL数据库之间进行跨库操作的方式 dblink postgres_fdw 本文先说说dblink;dblink是一个支持从数据库会话中连接到其他PostgreSQL数据库的插件。在其他数据库跨库操作也是采用dblink的方式 一、安装dblink PostgreSQL插件dblin 阅读全文 »
posted @ 2020-07-17 17:20 lottu 阅读(6143) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示