自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

岳麓丹枫

{万法皆空,因果不空}

  • 博客(331)
  • 资源 (5)
  • 论坛 (1)
  • 问答 (1)
  • 收藏
  • 关注

原创 PG file_fdw 分析 pg_log

简介PostgreSQL的file_fdw模块允许我们直接从数据库中来访问服务器的文件系统中的文件,不过这些文件必须是能够被COPY FROM读取的格式。通过file_fdw创建外部表时可指定的参数有:filename:指定要被读取的文件。必须是一个绝对路径名。 必须指定filename或program, 但不能 同时指定两个。program:指定要执行的命令。该命令的标准输出将被读取, 就像使用COPY FROM PROGRAM一样。 必须指定program或filename,但不能同时指定两

2020-12-21 00:20:15 54

原创 PG物理备份恢复之 pg_rman 使用

简介类似oracle 的 rman, 用于 postgres的备份与恢复下载https://github.com/ossc-db/pg_rman/tree/V1.3.9安装tar zxvf pg_rman*.tar.gzchown postgres.postgres -R pg_rman*su - postgrescd xxx/pg_rman*make && make install 使用开启归档[postgres@node_206 /postgresql/p

2020-12-13 22:41:23 85 1

原创 PG自定义格式逻辑备份与恢复

实例drop database if exists test;create database test;\c test;create table test (id int);insert into test select n from generate_series(1,10) n;select * from test;\q逻辑备份为自定义格式pg_dump -Fc -Z -C -c --disable-triggers --if-exists -h 127.0.0.1 -U post

2020-12-13 17:22:13 32

原创 PG DBA 工具

简介postgres_dba工具使用方法:在psql中敲入快捷键来执行对应的SQL脚本,以便进行问题的分析与定位,postgres_dba工具使用的SQL脚本位于postgres_dba/sql目录下安装方法git clone https://github.com/NikolayS/postgres_dba.gitecho "\\set dba '\\\\i `pwd`/postgres_dba/start.psql'" >> ~/.psqlrc # bash version; won

2020-12-06 11:58:51 54

原创 PG 序列绑定字段与不绑定字段的区别

序列绑定字段与不绑定字段的区别绑定字段构造数据drop sequence if exists test_id_seq;create sequence test_id_seq;drop table if exists test;create table test(id int default nextval('test_id_seq'), name text);alter sequence test_id_seq owned by test.id;测试test=# drop tab

2020-11-22 13:12:52 59

转载 postgres汉字转换为拼音

数据--汉字和拼音以及拼音首字母的对照表create table pinyin (hz varchar(1),py varchar(6),zm varchar(1));--未收录汉字插入以下表create table new_discover (hz varchar(1) primary key,py varchar(6),zm varchar(1));函数--创建输出type和函数,函数返回是数组CREATE TYPE t_py_zm as (c1 text[],c2 text[]);

2020-11-22 12:38:16 121

原创 PG listen/notify实例

session 1[pgsql@node3 ~]$psqlpsql (12.3)Type "help" for help.postgres=# listen welcome;LISTENpostgres=# notify welcome,'how are you doing';NOTIFYAsynchronous notification "welcome" with payload "how are you doing" received from server process with

2020-10-11 22:58:02 65

原创 PG编写扩展函数之通过C语言实现

编写C文件test.c#include "postgres.h" #include "fmgr.h"#ifdef PG_MODULE_MAGICPG_MODULE_MAGIC;#endifPG_FUNCTION_INFO_V1(squares_return_int);Datum squares_return_int(PG_FUNCTION_ARGS){ int32 arg = PG_GETARG_INT32(0); PG_RETURN_INT32(arg * a

2020-10-11 22:44:33 123 1

原创 PG 高可用之 repmgr

一. repmgr快速入门1. 概念This guide assumes that you are familiar with PostgreSQL administration and streaming replication concepts. For further details on streaming replication, see the PostgreSQL documentation section on streaming replication.本指南假设您熟悉 Postgr

2020-10-08 17:20:40 268

原创 CentOS7 自动化安装PG12.3

#! /bin/sh# 准备工作 # 预先创建 /tools 目录规划 mkdir -p /tools # 将 postgresql-12.3.tar.gz 上传到 /tools 下# 卸载残留的 rpm 包for rpm_file in `rpm -qa | grep postgresql`do rpm -e $rpm_filedone# 安装 rpm 包yum -y install coreutils glib2 lrzsz mpstat dstat sysstat e4f

2020-09-06 20:10:11 90

原创 vscode 搭配 babun

下载并安装babun;vscodevscode上配置shell终端为babun文件->首选项->设置->settings.json添加如下内容"terminal.integrated.shell.windows": "C:\\Users\\lxm\\.babun\\cygwin\\bin\\bash.exe",解决vscode下终端ctrl+l清屏时文件 > 首选项 > 键盘快捷方式 > keybindings.json新增如下内容// 将键绑定放在

2020-09-05 18:25:43 78

转载 ssh远程工具设置四个窗口

资源路径:https://pan.baidu.com/s/17ajWvnHlErP4AnNeXqRUtw 提取码: r2su破解方法先卸载系统中已经安装的xshell与xftp然后安装xshell再安装xshell plus,即可破除个人版四个窗口限制参考https://blog.csdn.net/woshilovetg/article/details/85723929...

2020-08-15 16:24:33 18504 18

原创 pacemaker from scratch

pacemaker 安装版本和兼容性安装方法(CentOS平台)二进制包(通过yum安装)安装方法:yum install corosync pacemakerCentOS7: https://clusterlabs.org/quickstart-redhat.htmlCentOS6:https://clusterlabs.org/quickstart-redhat-6.htmlRPM包直接去CentOS rpm包网站找CentOS6下面rpm是通过yum安装时获取到的

2020-08-02 22:03:35 111

原创 Corosyn+Pacemaker+Pcs实现HA

高可用介绍高可用,大家可能会想到比较简单的Keepalived,或者更早一点的 heartbeat,也可能会用到 Corosync+Pacemaker,那么他们之间有什么区别。Heartbeat到了v3版本后,拆分为多个子项目:Heartbeat、cluster-glue、Resource Agent、Pacemaker。Heartbeat:只负责维护集群各节点的信息以及它们之前通信。Cluster-glue:当于一个中间层,可以将heartbeat和crm(pacemaker)联系起来,主要包含2

2020-07-27 01:06:30 232

原创 PG12 编译安装

安装 PG 12root用户下安装依赖包* 卸载多余的rpm包rpm -qa | grep postgresql比如结果为postgresql-libs-8.4.20-8.el6_9.x86_64则 rpm -e postgresql-libs-8.4.20-8.el6_9.x86_64* 安装 rpm 包yum -y install coreutils glib2 lrzsz mpstat dstat sysstat e4fsprogs xfsprogs ntp readline-de

2020-07-19 19:25:26 368

原创 PG并行逻辑备份

创建测试数据create table test(id int primary key , name varchar);insert into test select n , n ||'name' from generate_series(1,1000000) n;create table test2(like test including all);create table test3(like test including all);insert into test2 select * from

2020-07-12 22:11:18 123

原创 PG逻辑备份以及恢复指定数据库对象

生成测试数据[postgres@lxm ~]$ psqlPassword for user postgres:psql (13beta1)Type "help" for help.postgres=# \l List of databases Name | Owner | Encoding | Collate | Ctype | Access privileges-----------+----------+---

2020-07-12 21:28:55 115

原创 PG判断主库与备库的方式

通过进程查看主库ps -ef | grep postgres在主库中可以看到有 walsender进程备库ps -ef | grep postgres在主库中可以看到有 walreceiver进程通过视图查看执行select * from pg_stat_replication ;在主库上有结果,在备库上无结果;执行select * from pg_stat_wal_receiver,在备库上查询有结果,在主库上查询无结果:在主库上查看是有结果的在备库上查询无结果主

2020-07-05 15:55:52 276

原创 PG之可写的CTE

https://omniti.com/seeds/writable-ctes-improve-performance.html实例1with naughty_users as ( select * from users where banned = 1)select * from naughty_users;实例2with deletions as ( delete from users where expired is true returning *)inser.

2020-06-27 20:17:15 99

原创 PG Partition Manager 分区管理器

PG Partition Manager 分区管理器简介Pg partman 是创建和管理基于时间和基于序列的表分区集的扩展下载git clone https://github.com/pgpartman/pg_partman.git编译安装chown -R postgres.postgres pg_partman-mastersu - postgres[postgres@mysql ~]$ cd /tools/pg_partman-master[postgres@mysql pg_

2020-06-27 20:11:20 205 1

转载 PG 锁

参考:https://postgres.fun/20100921154343.html表级锁类型表级锁类型分为八种,以下对各种表级锁类型进行简单介绍下, 锁的冲突模式可以参考3.1的图一:表级锁冲突模式。ACCESS SHARE“ACCESS SHARE”锁模式只与“ACCESS EXCLUSIVE” 锁模式冲突;查询命令(Select command)将会在它查询的表上获取”Access Shared” 锁,一般地,任何一个对表上的只读查询操作都将获取这种类型的锁。ROW SHA.

2020-06-20 18:40:08 95

原创 PG 表的复制

create aspostgres=# create table test_as as select * from test where 1=0;SELECT 0postgres=# \d+ test_as Table "public.test_as" Column | Type | Collation | Nullable | Default | S

2020-06-20 18:11:05 267

原创 PG DBA常用SQL

有用的索引查询相关SQLhttps://www.percona.com/blog/2020/03/31/useful-queries-for-postgresql-index-maintenance/http://blog.itpub.net/6906/

2020-06-12 21:03:24 115

转载 PostgreSQL DBA 日常管理 SQL

https://blog.csdn.net/Hehuyi_In/article/details/95662623?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-3.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-3.nonecase

2020-06-07 17:15:51 103

原创 regexp_split_to_table 与 regexp_split_to_array

regexp_split_to_table实例实例select regexp_split_to_table(coalesce('/home/postgres/test.sh',''),E'\/'); select n from generate_series(1,5,2) n;select regexp_split_to_table(coalesce('/home/postgres/test.sh',''),E'\/'), n from generate_series(1,5,2) n;

2020-06-07 17:02:09 532

原创 Linux下PG环境搭建

安装Linux本实验以CentOS6为例[root@mysql postgres]# cat /etc/redhat-release CentOS release 6.10 (Final)root@mysql postgres]# archx86_64[root@mysql postgres]# 配置Linux网络配置(静态ip配置)vi /etc/sysconfig/network-scripts/ifcfg-eth0BOOTPROTO=static #启用静态ip地址

2020-06-06 17:05:40 234

原创 linux shell数组

数组定义法1:arr=(1 2 3 4 5) # 注意是用空格分开,不是逗号!!数组定义法2:arrayarray[0]="a"array[1]="b"array[2]="c"获取数组的length(数组中有几个元素):${#array[@]} 或者 ${#array[*]}遍历(For循环法):for var in ${arr[@]};do echo $vardone遍历(带数组下标):数组下标从0开始计数for i in "${!arr[

2020-05-28 20:03:46 63

原创 awk实例

数据{ ~ } » cat -n data ~ 1 SYSTEM:*:18:544:,S-1-5-18:: 2 LocalService:*:19:544:U-NT AU.

2020-05-24 12:22:49 118

原创 sed实例

sed实例数据data.txt$my_psql -c"drop table $line" >> $my_logfile $my_psql -c"drop table $line restrict" >> $my_logfile $my_psql -c"drop table $line restrict" >> $my_logfile $my_psql -c"drop table $line restrict" >> $my_logfile $

2020-05-22 21:22:16 76

原创 PG导入包含json类型数据的文件

PG导入包含json类型数据的文件方法一,使用转义imos=# \d+ test1; Table "public.test1" Column | Type | Modifiers | Storage | Stats target | Description -----------+------+-----------+----------+--------------+------------- json_data | json |

2020-05-22 21:21:44 223

原创 Linux上强制让某个用户下线

查看当前登录的用户[root@vm102 ~]# w 10:28:55 up 24 days, 2:46, 3 users, load average: 0.09, 0.09, 0.08USER TTY FROM LOGIN@ IDLE JCPU PCPU WHATroot pts/0 207.207.80.188 Tue11 2:15 18:42 0.31s -bashroot pts/1 2

2020-05-14 10:32:27 267

原创 Linux sed引用

实例1[root@localhost ~]# cat -n data 1 (555)555 - 1212 2 3 (555)555 - 1213 4 5 (555)555 - 1214 6 7 (666)555 - 1215 8 9 (666)555 - 1216 10 11 (777)55...

2020-04-30 18:56:25 93

原创 linux 字符串相关操作

Linux字符串子串查询子串匹配删除子串替换子串查询从某个位置开始提取(下标从0开始)[root@localhost update]# string="hello world"[root@localhost update]# echo ${string:1}ello world[root@localhost update]#从指定位置提取指定长度的子串[root@loca...

2020-04-29 19:03:44 83

原创 PG函数中字符串长度没有意义

实例CREATE OR REPLACE FUNCTION (name varchar(1)) RETURNS INTEGER AS$BODY$DECLAREBEGIN raise notice 'param1=%',$1; RETURN 0;END;$BODY$LANGUAGE 'plpgsql' VOLATILE CALLED ON NULL INPUT...

2020-04-26 18:38:14 243

原创 PG进入单用户模式

进入单用户模式停止PG服务器如果不停PG,则无法通过单用户模式进入到PG-bash-4.1$ /home/postgres/pgsql/bin/postgres --single -D /mnt/syncdata/pgsql/data/ postgres<2020-04-26 19:06:40.446 CST 9177 >FATAL: lock file "postm...

2020-04-26 09:10:28 240

原创 PG由于系统内核配置不够导致启动报错以及事务ID回卷问题解决方法参考

max_connections VS semgetmax_connections是最大连接数,即允许客户端连接的最大连接数,增大连接可以允许接入更多的客户端,但设置过大同样会造成DB启动失败semget是获取信号的一个函数,即get semaphore[postgres@localhost ~]$ vi /database/pgdata/postgresql.conf max_conn...

2020-04-25 10:49:58 227

原创 PG对象年龄

– 查找年龄最大的10张表select relname, age(relfrozenxid) from pg_class order by age(relfrozenxid) desc limit 10;– 查找数据库年龄select datname, age(datfrozenxid) from pg_database;– 进入单用户模式/home/postgres/pgsql...

2020-04-24 21:34:23 149

原创 PG判断字符串中是否有中文

实例imos=# select 'hello' ~ '[\u2e80-\ua4cf]|[\uf900-\ufaff]|[\ufe30-\ufe4f]'; ?column?---------- f(1 row)imos=#imos=# select 'hello中国' ~ '[\u2e80-\ua4cf]|[\uf900-\ufaff]|[\ufe30-\ufe4f]'; ?c...

2020-04-23 17:27:19 515

原创 PG 并发刷新物化视图需要视图上有不带where条件的唯一索引

并发刷新物化视图需要视图上有不带where条件的唯一索引实例imos=#imos=# create table test(id int, name varchar);CREATE TABLEimos=#imos=# create materialized view view_testimos-# asimos-# select id, name from test;SELEC...

2020-04-21 13:45:26 226

原创 吊炸天的VNote

VNote使用教程自定义快捷键命令行模式自定义快捷键下面修改与展示常用的快捷键命令行模式可以看到我在配置文件中,将命名行模式快捷键设置为 Ctrl + P命令行模式下的快捷键可以参考上面图片中的描述介绍几个重要的功能:全局搜索Ctrl+P,C:使用实例:先按Ctrl+P进入到命令行模式,然后按下C, 然后就会出现搜索界面(如下图所示),然后输入你要搜索的内容,然后...

2020-04-10 20:28:00 274

PostgreSQL流复制原理

PostgreSQL11.2 中文文档 chm版; PostgreSQL是世界上最强大的开源数据库, 堪比商业版的Oracle,

2020-11-29

Linux 命令行 - v1.0

Linux 命令行 - v1.0;Linux 命令行 - v1.0;Linux 命令行 - v1.0

2017-12-18

oracle rac 2 day's guide

oracle rac 2 day's guide;oracle rac 安装教程; oracle rac 2 day's guide;oracle rac 安装教程;

2018-02-05

自己动手写网络爬虫

《自己动手写网络爬虫》》 一本很好有关网络爬虫的书,浅显易懂

2015-01-20

《妙趣横生的算法》源代码

此压缩文档中包含的是《妙趣横生的算法》一书中的源代码,欢迎大家下载并参考、学习!

2017-02-17

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除