首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏summerking的专栏

    PG详解

    为了解决这些问题,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上。

    1.7K30编辑于 2022-09-16
  • 来自专栏数据库相关

    使用coroot-pg-agent采集pg指标

    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

    79230编辑于 2022-09-30
  • 来自专栏PostgreSQL研究与原理解析

    PG备份恢复工具-pg_dumpbinary

    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压缩。

    1.6K50编辑于 2022-03-29
  • 来自专栏supreme

    安装PG

    /var/lib/pgsql/14/data/postgresql.conf //允许远程图片[root@liangcb ~]# vim /var/lib/pgsql/14/data/pg_hba.conf

    58400编辑于 2022-08-07
  • 来自专栏小麦苗的DB宝专栏

    PG开源的巡检工具pg_gather

    简介 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

    1.4K20编辑于 2022-11-07
  • 来自专栏PostgreSQL研究与原理解析

    PG备份恢复工具pg_probackup

    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

    1.8K10发布于 2021-03-04
  • 来自专栏PostgreSQL研究与原理解析

    PG密码安全

    PG使用SQL查询管理用户账户,包括密码。如果启用log_statement,log_min_error_statement为log,那么用户密码就有可能出现在server log中。

    1K00发布于 2020-08-01
  • 来自专栏AustinDatabases

    PostgreSQL PG15 新功能 PG_WALINSPECT

    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

    53641编辑于 2023-09-06
  • 来自专栏存储内核技术交流

    PG架构概览

    PG架构概览

    54920编辑于 2022-08-17
  • 来自专栏chimchim要努力变强啊

    查看pg版本

    一、背景 查看现有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

    1K40编辑于 2023-10-17
  • 来自专栏数据库相关

    PG创建or修改索引

    下面看一个《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

    2.8K30发布于 2019-09-17
  • 来自专栏王硕

    PG git pull

    ------  src/backend/postmaster/pgstat.c           |  33 +++++++++++++++++++++++-----  src/bin/pg_ctl /pg_ctl.c                   |   7 +++---  src/include/access/slru.h                 |   1 +  src

    949100发布于 2018-05-17
  • 来自专栏PostgreSQL研究与原理解析

    PG的密码安全

    PG使用SQL查询管理用户账户,包括密码。如果启用log_statement,log_min_error_statement为log,那么用户密码就有可能出现在server log中。

    75420发布于 2020-10-28
  • 来自专栏zhangdd.com

    ceph修复pg inconsistent

    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所在主机上修复。

    2.2K20发布于 2020-07-23
  • 来自专栏AustinDatabases

    PostgreSQL 通过pg_waldump 来分析pg_wal日志

    pg_waldump 可以解决这个问题,通过pg_waldump来解析pg_wal 日志来分析和解决一些问题。 pg_waldump 是PG 内部用来对 wal日志进行查看的命令,值需要pg_waldump执行命令对于要读取的日志有只读的权限即可。 pg_current_wal_lsn(); pg_current_wal_lsn -------------------- 1/7C000328 (1 row) postgres=# create (),pg_walfile_name(pg_current_wal_lsn()),pg_walfile_name_offset(pg_current_wal_lsn()); pg_current_wal_lsn pg_wal 中的记录 对于pg_wal 日志的理解和分析,可以通过pg_waldump命令来进行更详细的分解和解析。

    3K40发布于 2021-09-26
  • 来自专栏王硕

    PG git pull

    ----------------------------/home/git/repositories/postgresql.git---------------------- Fri Aug 23 02:30:01 CST 2013 Success change to /home/git/repositories/postgresql.git Fri Aug 23 02:30:01 CST 2013 Begin run git fetch >From git://git.postgresql.org/git

    87180发布于 2018-05-17
  • 来自专栏数据库PG

    pg之CheckPoint机制

    ; /*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数据库崩溃恢复时具体分析。

    1.8K80发布于 2021-03-16
  • 来自专栏磨磨谈

    处理stale的pg

    前言 在某些场景下Ceph集群会出现stale的情况,也就是ceph集群PG的僵死状态,这个状态实际上是无法处理新的请求了,新的请求过来只会block,那么我们如何去恢复环境 实践过程 首先模拟stale 集群这个时候就会出现stale的情况了,因为两份数据都丢了,在一些环境下,数据本身就是临时的或者不是那么重要的,比如存储日志,这样的环境下,只需要快速的恢复环境即可,而不担心数据的丢失 处理过程 首先用ceph pg dump|grep stale 找出所有的stale的pg 然后用 ceph force_create_pg pg_id 如果做到这里,可以看到之前的stale的状态的PG,现在已经是creating

    1.2K20发布于 2018-08-06
  • 来自专栏数据库相关

    PG的Prometheus监控

    地址: https://github.com/wrouesnel/postgres_exporter/releases

    1.3K20发布于 2019-09-17
  • 来自专栏数据库PG

    pg wal最佳实践

    PostgreSQL在写入频繁的场景中,可能会产生大量的WAL日志,而且WAL日志量远远超过实际更新的数据量。我们可以把这种现象起个名字,叫做“WAL写放大”,造成WAL写放大的主要原因有2点。

    1.1K60发布于 2021-03-16
领券