
PostgreSQL之杂记
文章平均质量分 59
涉及PostgreSQL数据库物理结构中文件、目录等的方方面面。
瀚高PG实验室
瀚高PG实验室(Highgo PG Lab)依托于瀚高DBA运维团队及瀚高数据库PG内核研发团队,旨在深入研究PostgreSQL技术、使用技巧、内核探秘、PG教学等,并进行分享。欢迎大家关注、交流。
展开
-
FDW批量导入外部表
如需大量创建外部表,可进行批量导入创建fdw扩展CREATE EXTENSION postgres_fdw;创建远程服务CREATE SERVER ser_postgres_fdw FOREIGN DATA WRAPPER postgres_fdw OPTIONS (host '192.168.6.142', port '5966', dbname 'test');--OPTIONS (host '192.168.6.142', port '59原创 2021-12-14 15:10:11 · 1769 阅读 · 0 评论 -
Postgresql 随机生成测试数据sql
100w条随机测试数据。create table abc (a integer,b integer,c integer ,d integer);postgres=# insert into abc select (random()*(10^5))::integer,(random()*(10^5))::integer,(random()*(10^5))::integer from generate原创 2017-12-15 17:42:47 · 3762 阅读 · 0 评论 -
PostgreSQL中的VACUUM命令
每当PostgreSQL数据库中的表中的行被更新或删除时,死亡行会被遗留下来。VACUUM则会把它们除去来使空间能被重新利用。如果一个表没有被清空,它会变得臃肿,浪费磁盘空间而且会降低顺序表扫描的速度,而且在较小范围内也会降低索引扫描的速度。VACUUM命令只可以移除这些不再被需要的行版本(也被称为元组)。如果被删除事务的事务ID(存储在xmax系统列中)比仍然活跃在PostgreSQL数据库(或...原创 2018-03-19 15:21:53 · 6647 阅读 · 0 评论 -
Tpch-300G数据量-Oracle对应sql
使用tpch进行 oracle与postgresql的查询性能测试时,德哥的tpch工具可以生成适用于postgres的sql,但是适用于oracle的sql,却需要手工修改。以下是我从tpch相关报告里提取出的300G数据量测试sql ,并稍作修改,用以显示查询时间。set timing onspool queries.logbegin dbms_stats.gather_schema原创 2017-12-22 18:14:27 · 1514 阅读 · 0 评论 -
drop database 会立即释放磁盘空间么 ?
drop database 会立即释放磁盘空间么 ? DROP DATABASE drops a database. It removes the catalog entries for the database and deletes the directory containing the data. It can only be executed by the database owner原创 2017-12-22 18:08:14 · 2816 阅读 · 0 评论 -
psql的环境设置(文件.mylocalenv)
实验环境硬件配置:1核 2G软件版本:vmware workstation 10.0.4 build-2249910RHEL7.4HGDB V4.1.1HGDB安装完成后使用psql直接登录,默认以highgo用户访问highgo数据库,我们可以通过创建一个文件.mylocalenv,来改变这种默认登录,具体如下:su - highgo$ vi .mylocalenvexport P原创 2017-12-20 14:28:48 · 738 阅读 · 0 评论 -
What is a tuple?(一)
接触postgresql的工程师会经常接触一个词——tuple 那么,什么事tuple呢?它的定义是什么呢?又有什么作用?该如何使用呢? 来看一下pg官方社区的一些看法: 1、It seems to be related deeply to the structure of postgres somehow.2、I know what a tuple is but it seems l...原创 2018-04-17 16:32:07 · 449 阅读 · 0 评论 -
PostgreSQL中客户端连接到服务器端之后产生的进程情况
PostgreSQL中客户端连接到服务器端之后产生的进程情况原创 2017-11-27 18:38:05 · 1152 阅读 · 0 评论 -
为postgreSQL添加man帮助
在解压postgreSQL的源码后,通过源码或编译好的二进制文件安装完postgreSQL后,通过yum或者rpm安装完postgreSQL后,会生成man手册,通过这个手册可以在手头没有对应版本的官方手册或者没有图形化环境的时候,快速并极其方便的查询PG的命令,库函数和语法的含义及使用。方法很简单,通过修改man的配置文件即可。在man的配置文件中添加:原创 2017-11-09 15:14:40 · 734 阅读 · 0 评论 -
postgresql数据库中创建只读用户的方法
作者:瀚高PG实验室 (Highgo PG Lab)- 徐云鹤在pg数据库中创建只读用户可以采用如下方法。大体实现就是将特定schema的相关权限赋予只读用户。--创建用户CREATE USER readonly WITH ENCRYPTED PASSWORD '123456';--设置用户默认开启只读事务ALTER USER readonly SET default_transaction_read_only = ON;--将schema中usage权限赋予给readonly用户,访问所有原创 2020-12-18 15:30:40 · 2920 阅读 · 3 评论 -
为什么postgresql最大的单表只能是32TB
为什么postgresql最大的单表只能是32TB?这需要从数据文件来说起。在postgresql中,一张表对应多个数据文件。数据文件中存储的是page,每一个page都有一个单独的编号,因为pg寻址空间采用的是32位,也就是2^32=4294967296,也就是一组数据文件中最多存放这些page。按照默认的block_size设置为8K,可以计算出来一组数据文件最大的大小是32T。这里,注意我说...原创 2018-03-02 15:30:48 · 5175 阅读 · 0 评论 -
Debezium异常退出问题排查小记
作者:瀚高PG实验室(Highgo PG Lab)- 徐云鹤问题描述今天在一套测试环境下遇到了如下问题,当数据库执行update后,debezium中止并报错:[FATAL] Replication stream was unexpectedly terminated: ERROR: no known snapshotsCONTEXT: slot "myslot", output plugin "debezium", in the change callback, associated LSN原创 2021-08-09 16:11:07 · 2395 阅读 · 4 评论 -
记一次pg_rman备份postgresql数据库报段错误的处理过程
作者:瀚高PG实验室(Highgo PG Lab)- 徐云鹤数据库备机前期稳定执行备份操作,成功无报错。近期发现pg_rman无法完成备份,提示段错误并产生core文件。通过执行pg_rman debug模式定位到checkpoint后发生错误。postgres@备机:~> pg_rman backup -b incremental -Z -F --keep-data-days=2 --standby-host=x.x.x.x4 --standby-port=5432 -h x.x.x.x3 -原创 2021-08-06 15:49:05 · 2669 阅读 · 0 评论 -
PostgreSQL13.1-CN-v1.0中文手册.chm下载
PostgreSQL13.1-CN-v1.0中文手册.chmPostgreSQL数据库chm格式的中文官方手册,带目录和全文检索,内容与官方文档是一样的。下载地址1(包含chm,pdf,epub,html格式):链接: https://pan.baidu.com/s/1Ii4t1STWT0GuUQl2k-mOTw 提取码: p7jm下载地址2:https://download.csdn.net/download/dove12345/20373622postgresql简称pg,原称postgre原创 2021-07-20 14:12:47 · 2587 阅读 · 0 评论 -
postgresql 安全漏洞介绍
作者:瀚高PG实验室(Highgo PG Lab)-Chrisx文章目录介绍版本漏洞安全漏洞处理介绍PostgreSQL安全更新主要作为次要版本升级提供。我们始终建议您使用可用的最新次要版本,因为它可能还包含其他与安全无关的修复程序。所有已知的安全问题都会在下一个主要版本发布时得到修复。版本漏洞漏洞列出了它们出现在哪个主要版本中,以及每个漏洞都固定在哪个版本中。如果该漏洞在没有有效登录的情况下可被利用,则也会说明这一点。它们还列出了一个漏洞类,但我们敦促所有用户阅读该描述,以确定该漏洞是否会影响特原创 2021-06-18 14:50:23 · 1796 阅读 · 0 评论 -
postgresql版本策略及生命周期
作者:瀚高PG实验室(Highgo PG Lab)-Chrisx文章目录版本介绍版本号升级版本介绍PostgreSQL全球开发组每年发布一次包含新特性的主要新版本。每个主要版本都会收到错误修复,如果需要的话,还会收到安全修复,这些修复至少每三个月发布一次,称之为“次要版本”有关次要发行计划的更多信息,可以查看次要发行路线图minor release roadmap(预定发行计划是二月、五月、八月和十一月的第二个星期四。)下一个主版本是14,预计2021年的第三季度发行。PostgreSQL全球开原创 2021-06-18 14:46:10 · 2630 阅读 · 0 评论 -
WAL日志磁盘空间占用大小分析
作者:瀚高PG实验室(Highgo PG Lab)-ChrisxWAL日志磁盘空间占用大小分析文章目录WAL日志磁盘空间占用大小分析参数影响WAL大小的因素参数通常情况下,pg_wal目录中的 WAL 段文件数量取决于min_wal_size、max_wal_size以及在之前的检查点周期中产生的 WAL 数量。max_wal_size,两个检查点之间,wal可增长的最大大小,这是一个软限制。min_wal_size,检查点后用来保留的,用于未来循环使用的wal文件。可以被用来确保有足够的 W原创 2021-04-29 18:44:50 · 2758 阅读 · 0 评论 -
suse安装readline-devel
作者:瀚高PG实验室(Highgo PG Lab)-Chrisx文章目录1. 安装包需求2. 安装需求的软件包3 不使用readline4. 使用libedit代替5. 安装readline-devel6. 问题1. 安装包需求suse上安装postgresql,编译安装时需要以下的软件包。makegccgzipreadlinereadline-develzlibzlib-devel2. 安装需求的软件包配置本地源,进行安装。zypper install make gcc gz原创 2021-04-28 17:27:19 · 3259 阅读 · 0 评论 -
oracle_fdw
作者:瀚高PG实验室(Highgo PG Lab)-Chrisx文章目录oracle_fdw安装配置oracle客户端安装oracle_fdw问题oracle_fdworacle_fdw是PostgreSQL扩展,它提供了一个第三方外部数据包装器,方便和高效地访问存储在外部数据库oracle中的数据安装配置oracle客户端下载instant client下载三个文件即可Basic Package (ZIP)SQL*Plus Package (ZIP)SDK Package (ZIP)原创 2021-02-22 17:07:01 · 1751 阅读 · 3 评论 -
postgres_fdw
作者:瀚高PG实验室(Highgo PG Lab)-Chrisx文章目录postgres_fdw使用问题postgres_fdw模块提供了外部数据包装器postgres_fdw,它可以被用来访问存储在外部PostgreSQL服务器中的数据。postgres_fdw使用CREATE EXTENSION postgres_fdw; --创建fdw扩展CREATE SERVER ser_postgres_fdw FOREIGN DATA WRAPPER postgres_f原创 2021-02-22 16:56:32 · 845 阅读 · 0 评论 -
file_fdw
FWD(foreign data wrapper)外部数据包装器,允许我们使用普通SQL查询来访问位于PostgreSQL之外的数据。相关概念外部数据,数据库支持将数据存储在外部,外部可以是一个远程的pg数据库或者其他数据库(mysql, oracle等),又或者是文件等。可以在一个外部数据包装器的帮助下被访问FWD(foreign data wrapper)外部数据包装器,fdw是一种外部访问接口,可以在PG数据库中创建外部表,用户访问的时候与访问本地表的方法一样,支持增删改查。SER原创 2021-02-22 16:40:51 · 859 阅读 · 0 评论 -
pg_rewind
pg_rewind作者:瀚高PG实验室(Highgo PG Lab)-Chrisxreference pg_rewind文章目录pg_rewind1. 优点2. 使用要求3. 工作原理4. 使用示例pg_rewind是一个工具,用于在群集的时间线出现分歧后,将 PostgreSQL 群集与同一群集的另一个副本进行同步。典型的案例是旧主服务器在故障转移后重新联机,将其作为新主机之后的备用服务器。1. 优点pg_rewind成功后,目标数据目录的状态类似于源数据目录的基本备份(作者注,数据一致原创 2020-12-16 17:21:00 · 1212 阅读 · 0 评论