www.postgresql.org/ftp/source/ 打开 PostgreSQL 官网 https://www.postgresql.org/,点击菜单栏上的 Download ,可以看到这里包含了很多平台的安装包,包括 Linux...www.postgresql.org/download https://yum.postgresql.org/repopackages.php 文档:https://www.postgresql.org/download/linux...192.168.66.35 -p 54324 -d postgres 二进制安装 https://www.enterprisedb.com/download-postgresql-binaries 从11开始,不再支持Linux...start pg_ctl status pg_ctl stop -- 配置系统服务 cat > /etc/systemd/system/PG14.service <<"EOF" [Unit] Description.../bin/pg_ctl start -D ${PGDATA} -s -o "-p ${PGPORT}" -w -t 300 ExecStop=/postgresql/pg14/bin/pg_ctl stop
为了解决这些问题,ceph引入了归置组的概念,即PG。 # PG概念 PG是一个逻辑概念,linux系统中可以直接看到对象,但是无法直接看到PG。...它在数据寻址时类似于数据库的索引:每个对象都会固定映射进一个PG中,所以当我们要寻找一个对象时,只需要先找到对象所属的PG,然后遍历这个PG就可以了,无需遍历所有对象。...PG是一种间址,PG的数量有限,记录PG跟OSD间的映射关系可行,而记录object到OSD之间的映射因为数量巨大而实际不可行或效率太低。...因为对象数无法事先知道,但是有了pg,先把对象映射到pg,然后只需计算pg到osd的映射就可以了,pg数是一定的,这样算法设计可能会简单一点。 # 原理 对象时如何映射进PG的?...Backfilling 当一个新的OSD加入到集群后,CRUSH会重新规划PG将其他OSD上的部分PG迁移到这个新增的PG上。
postgresql weekly推荐了几款备份恢复工具,其中一个是pg_dumpbinary。 pg_dumpbinary 是一个用于转储PG数据库的工具,其中数据以二进制格式转储。...这种场景下,pg_dump会以输出格式导出数据,造成数据丢失。 3)任何其他使用二进制的场景会很有用。 如何您在这种情况下,pg_dumpbinary将通过二进制格式转储PG数据库来帮助您。...在其他所有情况下,必须使用PG分发的pg_dump/pg_restore工具。...安装 pg_dumpbinary和pg_restorebinary都是perl程序,除了perl本身、perl模块DBD::pg和DateTime外不需要任何其他东西。...PG命令pg_dump、pg_restore和psql必须通过PATH环境变量设置才可用。数据通过gzip压缩。
coroot-pg-agent 和 postgres_exporter 的不同之处在于, coroot-pg-agent 主要是根据 pg_stat_statements 这个extension来采集sql...coroot-pg-agent 的部署也很简单,参考官方github即可。...说明: 我这里演示的pg14,运行在1921端口上 create role coroot_pg_agent with login password '123456'; grant pg_monitor...to coroot_pg_agent; 编辑pg配置文件,添加如下 shared_preload_libraries = 'pg_stat_statements' 然后重启生效 登录pg,任一个...docker run -d --name coroot-pg-agent -p 9096:80 --env DSN="postgresql://coroot_pg_agent:123456@192.168.31.181
简介 https://github.com/jobinau/pg_gather This is a single SQL-only script for gathering performance and...安装 wget https://codeload.github.com/jobinau/pg_gather/tar.gz/refs/tags/v16 -O pg_gather-16.tar.gz tar...-zxvf pg_gather-16.tar.gz cd pg_gather-16 报告生成 -- 采集数据 psql -U postgres -h 172.17.0.2 -X -f gather.sql...> out.txt -- 导入数据 sed -e '/^Pager/d; /^Tuples/d; /^Output/d; /^SELECT pg_sleep/d; /^PREPARE/d; /^\s...结果 小麦苗PG巡检脚本 请参考:https://www.xmmup.com/pgshujukuxunjianjiaoben.html
/var/lib/pgsql/14/data/postgresql.conf //允许远程图片[root@liangcb ~]# vim /var/lib/pgsql/14/data/pg_hba.conf
-R postgres:postgres /usr/local/pg/pgsqldata #5.切换到postgres用户 su postgres #初始化数据库 /usr/local/pg/bin/...initdb -D /usr/local/pg/pgsqldata mkdir /usr/local/pg/pgsqldata/logs #启动 /usr/local/pg/bin/pg_ctl...-D /usr/local/pg/pgsqldata -l /usr/local/pg/pgsqldata/logs/pgsql.log start /usr/local/pg/bin/createdb...'; su postgres /usr/local/pg ..../bin/psql -h 127.0.0.1 -d test -U postgres -p 5432 关闭数据库 su postgres /usr/local/pg/bin/pg_ctl -D
PG备份恢复工具pg_probackup pg_probackup是管理PG数据库集群备份和恢复的工具。用于执行周期性备份PG实例。兼容PG9.5,,96,10,11,12,13。...备份位于远程系统上的PG实例或远程恢复备份 11、从备机上进行备份。通过从备机上进行备份来避免主机上的额外负载。 12、外部目录。...仅还原制定的数据库或从转储中排出指定数据库 未管理备份数据,pg_probackup创建一个备份目录。这个目录存储所有备份文件包括额外的元信息,以及WAL归档。...限制:备份和转储的PG必须block_size和wal_block_size兼容且有相同主版本号;Windows下不支持ssh远程备份;ssh远程备份时,pg_probackup的版本必须相同。...原文 https://github.com/postgrespro/pg_probackup
PG使用SQL查询管理用户账户,包括密码。如果启用log_statement,log_min_error_statement为log,那么用户密码就有可能出现在server log中。
一、背景 查看现有Postgre数据库的版本号 二、方式 1.SQL --两种都可 select version() ; show server_version; 2.pg_config pg_config...|grep VERSION 3.pg_controldata pg_controldata --version 4.postgres postgres --version 5.查看告警日志 more postgresql-Mon.log
PostgreSQL 在PG15 版本之前如果想了解wal 日志中的信息,只能使用上期提到的工具去查看,但从PG15这个版本,查看 wal 日志的内容的方式变化了可以在数据库内部进行查看。...CREATE EXTENSION pg_walinspect; 这里pg_walinspect函数在PG16 有增强,添加了如下的函数 function pg_get_wal_block_info()...) functions pg_get_wal_records_info(), pg_get_wal_stats() and pg_get_wal_block_info() accept an LSN value...pg_get_wal_stats_till_end_of_wal() removed (commit 5c1b6628) 我们通过下面的实验来快速了解pg_walinspect的工作, postgres...=# select now(),pg_current_wal_lsn(); elect now(),pg_current_wal_lsn(); now
PG架构概览
------ src/backend/postmaster/pgstat.c | 33 +++++++++++++++++++++++----- src/bin/pg_ctl.../pg_ctl.c | 7 +++--- src/include/access/slru.h | 1 + src
下面看一个《PostgreSQL实战》书上page202的例子: 由于PG的MVCC机制,当运行大量的更新操作后,会有索引膨胀的现象。...(indexrelid) as index_size, idx_scan, idx_tup_read, idx_tup_fetch from pg_stat_user_indexes where indexrelname...in (select indexname from pg_indexes where schemaname ='public' and tablename='testdata'); schemaname...(indexrelid) as index_size, idx_scan, idx_tup_read, idx_tup_fetch from pg_stat_user_indexes where indexrelname...in (select indexname from pg_indexes where schemaname ='public' and tablename='testdata'); schemaname
1、收到异常情况如下: health: HEALTH_ERR 2 scrub errors Possible data damage: 1 pg inconsistent 2、查看详细信息 ceph...health detail HEALTH_ERR 2 scrub errors; Possible data damage: 1 pg inconsistent OSD_SCRUB_ERRORS...2 scrub errors PG_DAMAGED Possible data damage: 1 pg inconsistent pg 2.2f5 is active+clean+inconsistent..., acting [22,2,27] 3.找出异常的 pg,然后到对应的osd所在主机上修复。
----------------------------/home/git/repositories/postgresql.git---------------...
; /*PG_CONTROL_VERSION */uint32 catalog_version_no; /* seecatversion.h */DBState state...; /* see enum above */pg_time_t time; /* time stamp of last pg_control update */XLogRecPtr...后二个函数没有使用SLRU算法,直接调用pg_fsync方法把相应文件刷到磁盘上对应文件。...,第一次数据页的变化会导致整个页面会被记录在XLOG日志中 检查点的开销比较高,可以用checkpoint_warning自检,相应调大checkpoint_segments 检查点的位置保存在文件 pg_control...,pg_control文件被损坏可能会导致数据库不可用 其中,如果pg_control文件损坏,在数据库崩溃恢复时可能出现一些问题,这些问题我们将在分析PostgreSQL数据库崩溃恢复时具体分析。
包变成镜像 docker load -i postgresql.tar 以上就将tar 包变成镜像了 现在在宿主机找一个地方,存放数据库的数据 /home/softinstall/docker/pg...宿主机的这个地方,就是数据库存放东西的地方 因为我们要使用 Docker-compose 去管理容器,所以要使用Docker-compose 的东西; 我们需要找一个位置,专门放各个yml 文件 现在有一个关于pg...的yml 编排文件,就是使用他去管理 找到pg 数据库的镜像名称 kartoza/postgis 里面内容是: version: '3' services: db: image: kartoza...文件夹下,执行下面就启动了 docker-compose -f pg.yml up -d 查看日志 docker logs -f pgadmin 关闭容器 docker-compose -f...pg.yml down 如果第一次启动失败,要修改完配置文件之后,关闭之后重新启动 先执行 docker-compose -f pg.yml down 后执行 docker-compose -f pg.yml
PG数量的设置牵扯到数据分布的均匀性问题。...预设Ceph集群中的PG数至关重要,公式如下: (**结果必须舍入到最接近2的N次幂的值)** PG 总数 = (OSD 数 * 100) / 最大副本数 集群中单个池的PG数计算公式如下:(**结果必须舍入到最接近...2的N次幂的值)** PG 总数 = (OSD 数 * 100) / 最大副本数 / 池数 PGP是为了实现定位而设计的PG,PGP的值应该和PG数量保持一致;pgp_num 数值才是 CRUSH 算法采用的真实值...虽然 pg_num 的增加引起了PG的分割,但是只有当 pgp_num增加以后,数据才会被迁移到新PG中,这样才会重新开始平衡。 pg_num计算器 https://ceph.com/pgcalc/
领取专属 10元无门槛券
手把手带您无忧上云