
工程师的随心随笔
本专栏主要记录了工程师随笔写的一些文章。
瀚高PG实验室
瀚高PG实验室(Highgo PG Lab)依托于瀚高DBA运维团队及瀚高数据库PG内核研发团队,旨在深入研究PostgreSQL技术、使用技巧、内核探秘、PG教学等,并进行分享。欢迎大家关注、交流。
展开
-
误删WAL日志后如何启动数据库
WAL日志是瀚高数据库至关重要的日志文件,数据恢复的重要依靠保障,如果误删了数据库会怎样呢?模拟情况:[highgo@sds1 data]$ pg_ctl startserver starting[highgo@sds1 data]$ LOG: 00000: database system was shut down at 2018-11-14 23:31:31 CSTLOG...原创 2018-11-14 15:42:25 · 1488 阅读 · 0 评论 -
为PostgreSQL配置work_mem
目录环境文档用途详细信息环境系统平台:N/A版本:9.4,9.6,10.0文档用途 work_mem也许是Postgres中最令人困惑的参数。work_mem用于确定在某些操作期间可以使用多少内存。从表面上看,work_mem的设置似乎很简单,毕竟,work_mem只需指定将数据写入磁盘之前内部排序操作和哈希表可用的内存量。然而,如果不去配置work_mem可...原创 2018-11-16 09:07:28 · 3469 阅读 · 0 评论 -
PostgreSQL10.1-CN-v0.1.chm中文手册
PostgreSQL10.1-CN-v0.1.chm中文手册PostgreSQL数据库chm格式的中文手册,带目录和全文检索,内容与官方文档是一样的。https://download.csdn.net/download/dove12345/10566194...原创 2018-07-27 10:36:07 · 2067 阅读 · 0 评论 -
PostgreSQL中的冻结管理
PostgreSQL将事务ID分成两部分:过去20亿是可见的,未来20亿是不可见的。所有可见行必须始终存在于过去的20亿中。未来的对于当前事务是不可见的。PostgreSQL通过专门标记旧行来避免这种数据丢失问题。冻结(Freezing)是标记旧的实时元组(即数据库行)的进程。它与vacuum相反,vacuum是旧的死元组占用的空间,任何事务都不可见。这两个进程都是由vacuum管理的。...原创 2019-02-21 10:50:04 · 2162 阅读 · 0 评论 -
ERROR: out of memory
PostgreSQL运行过程中,可能会发生内存不足(OOM)的错误,报错示例如下:ERROR: out of memory问题产生的原因1)由于内核实现内存过量使用的方法,如果PostgreSQL或其它进程的内存要求导致系统用光虚拟内存,那么内核可能会终止PostgreSQL的postmaster进程(主服务器进程)。2)当操作系统的OOM killer进程由于整个系统内存不足而...原创 2019-02-20 09:46:10 · 2884 阅读 · 0 评论 -
无法远程登陆数据库
目录环境症状问题原因解决方案相关文档报错编码环境系统平台:N/A版本:4.1.1症状使用客户端程序连接数据库报错:FATAL: no pg_hba.conf entry for host "192.168.100.182", user "highgo", database "highgo", SSL off问题原因HGDB默认禁用远程访问数据库。解决方案详细解决方案请登录【瀚高技术支持平台】查看...原创 2018-05-22 15:58:47 · 342 阅读 · 0 评论 -
执行计划结果简析
顺序扫描=全表扫描,从头到尾的扫描表 两个数字,中间由..分隔,第一个值表示启动成本,返回第一行需要多少cost值;第二个数字表示返回所有数据的成本;成本描述一个SQL执行的代价是多少。默认情况下不同操作其cost值如下:highgo=# explain select * from test; QUERY PLAN原创 2018-01-19 12:07:43 · 415 阅读 · 0 评论 -
执行计划常用参数简析
1、ANALYZE 真正执行实际的SQL,看到执行计划每一步时间 2、VERBOSE 用于显式计划的附加信息,附加信息:计划树中每个节点输出的各个列。触发器被出发还会显示出发器的名称。默认为FALSE。 3、COSTS 每个计划节点的启动成本和总成本、行数、每行宽度。Costs 默认为TRUE 4、BUFFERS 缓冲区使用的信息,只能与anaylyze参数一起使用,共享块、本地块、临原创 2018-01-19 12:02:46 · 858 阅读 · 0 评论 -
执行计划组件简析
执行计划组件简析 讲解之前,我们来思考一下执行计划的意义,即它在实际的工作中会给我们带来什么?有什么作用? 计划器—决策—执行计划和资源消耗(CPU、内存、磁盘I/O),我们想了解或者排查一个SQL语句所带来的资源消耗,这个时候执行计划显得尤为重要了。解析器:执行SQL字符串的语法和语义检查重写器:在某些情况下改变查询;例如,如果查询是针对一个视图,重写器将修改查询,使它面对的是原创 2018-01-19 11:48:36 · 237 阅读 · 0 评论 -
pg_dump数据保存问题
pg_dump用于备份 HighGoDatabase 数据库,它可以在数据库运行时使用,pg_dump不会阻塞其他的用户访问数据库。转储的内容以脚本或存档的方式输出。脚本转储指包含SQL 命令的纯文本文件,这些 SQL命令可以用于重建该数据库并将之恢复到保存成脚本的时候的状态。要从这些脚本中恢复数据,需要使用psql 命令。脚本文件可以被用来重建数据库。原创 2017-11-10 16:54:16 · 1608 阅读 · 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 · 2576 阅读 · 0 评论 -
REHL/Centos 7.X 上如何绑定网卡
测试环境 Oracle Virtual Box5.1 操作系统 RHEL7.2 网卡状态[root@higsin ~]# nmcli device statusDEVICE TYPE STATE CONNECTIONvirbr0 bridge connected virbr0 enp0s3 ethernet co...原创 2018-08-22 16:08:28 · 622 阅读 · 0 评论 -
网卡绑定的六种方式
mode=0 balance-rr 【最常用之一,又称之为负载均衡模式】round robin模式,所有报文由各个slave平均承担 优点:提供7种模式中最高的理论带宽,任一slave失效,其任务由剩余slave均摊 缺点:不同端口轮循发报,容易导致乱序,对端会要求重发,从而影响吞吐量;需要switch端配置port channel mode=1 active-backup ...原创 2018-08-22 16:03:57 · 6450 阅读 · 0 评论 -
SSH免密互信
环境:RHEL7.2以root用户登录,更改SSH的配置文件 /etc/ssh/sshd_config RSAAuthentication yes # 启用 RSA 认证 PubkeyAuthentication yes # 启用公钥私钥配对认证方式 AuthorizedKeysFile .ssh/authorized_keys # 公钥文件路径重启SSH服务: service sshd res...原创 2018-03-14 15:50:23 · 347 阅读 · 0 评论 -
xfs在rhel/centos下挂载的bug
在rhel下挂载xfs文件系统,重启后进入emergency mode。百思不得其解。最后在红帽官网找到了答案,是因为bug所致。可以通过添加mount选项_netdev解决此问题。以下是引用:RHEL7 boots up to emergency mode when using a separate journal for XFS环境Red Hat Enterprise Linux 7问题A R原创 2018-01-18 10:02:23 · 1047 阅读 · 0 评论