咨询锁(advisory lock),有的地方翻译为顾问锁,作为Postgresql中一种特有的锁,关于对其介绍,仅从咨询锁的描述性定义来看,一开始还真的没明白这个咨询锁是干什么的。 暂时抛开咨询锁的概念,先说数据库中传统的锁机制。默认情况下的事务性锁,读/写会自动加锁,读/写完成后会自动解锁(加解锁机制在细节上复杂),这是一种隐式的锁机制,Postgresql也不例外。对于加锁后的并发控制,也就是默认的写不阻塞读,是通过MVCC解决的,这种锁完全不需要认为干...
2020-12-17 /
657 次浏览 /
DBA运维
概要
postgesql 12
备份/恢复脚本
时区设置
mysql 5.6
备份/恢复脚本
时区设置
概要
postgresql 和 mysql 是最常用的 2 种开源关系数据库, 很多项目也会优先选用这 2 种数据库.
通过 docker 来使用这 2 种数据库的时候, 部署非常方便, 没什么好说的. 这里简单总结下数据库的备份/恢复和时区设置问题.
postgesql 12...
2020-12-17 /
802 次浏览 /
DBA运维
1.1 数据类型
PostgreSQL 有着丰富的数据类型可用。 用户可以使用 CREATE TYPE 命令为 PostgreSQL 增加新的数据类型。
Table1-1显示了所有内置的普通数据类型。 在"别名"列里列出的大多数可选名字都是因历史原因 PostgreSQL 在内部使用的名字。
另外,还有一些内部使用的或者废弃的类型也可以用,但没有在这里列出。
Table1-1: 数据类型...
2020-12-17 /
847 次浏览 /
DBA运维
一.安装源
安装源地址: https://yum.postgresql.org/repopackages.php
根据如下地址确定适用的版本https://yum.postgresql.org/findingdistro.php
[root@izm5e2q95pbpe1hh0kkwoiz ~]# cat /etc/redhat-release
CentOS Linux release 7.4.1708 (Core)
[root@izm5e2q95pbpe1hh0k...
2020-12-17 /
803 次浏览 /
DBA运维
一、背景
在工作中,可能会遇到将表从一个表空间移动另一个表空间。例如
* 对数据进行冷处理
* 表空间所在的磁盘空间不足
* 建表时分配错了表空间
以上等等,可能需要你将一个表移动表空间。
二、表空间介绍
PostgreSQL的表空间
三、移动数据文件方法
我们先打造下环境;创建两个表空间
postgres=# CREATE TABLESPACE tsp01 OWNER lottu LOCATION '/data/pg6000/tsp01';
CREATE...
2020-12-17 /
707 次浏览 /
DBA运维
Postgresql安全
分类:连接安全、账户安全(个人理解)
一、 连接安全:
1、 客户端接入认证的主要方式是通过pg_hba.conf文件来进行配置。
2、
3、  ...
2020-12-17 /
759 次浏览 /
DBA运维
在 Oracle 中 regexp_like 只能用于条件表达式,和 like 类似;而在 PostgreSQL 没有regexp_like 函数;与之等价的函数有 regexp_match
一、regexp_match
regexp_match(string, pattern[, flags ])函数返回一个从匹配POSIX正则表达式模式中获取的所有子串结果的text数组。参数flags是一个可选的text字符串,含有0或者更多单字母标记来改变函数行为。标记g导致查找字...
2020-12-17 /
717 次浏览 /
DBA运维
疑问
前几天PG学习微信群有人在问“pg_class 存储了对象和命名空间,表空间的对应关系,为什么没有和数据库的关系?我想查数据库下面有多少对象,找不到数据库和对象的关系?”
简而言之;PostgreSQL数据库和对象的关系;提这个问题的同学;应该是想知道
PostgreSQL实例中数据库之间的关系,以及数据库和对象的关系。
至于能否有这样的SQL;容我一步一步探索
探索
1、探索PG的逻辑结构
逻辑结构图
上图解析:
第一层是实例(Instan...
2020-12-17 /
854 次浏览 /
DBA运维
在使用 awk 脚本;数组是一大利器;在很多场景是用数组能处理。
在 python 中,数据类型list;相当于array类型。
在 Oracle 中,对 array 不够友好,感觉像是鸡肋。但是在 PostgreSQL 中,对array有很多支持,很多场景可以应用到。下面慢慢说
1、any(array) 替换 in(table)
-- 案例1
-- 创建表A;插入1000条记录;并每条记录重复4次
postgres=# create table A (id int,...
2020-12-17 /
735 次浏览 /
DBA运维
前几天干活儿的时候,项目中有这么个需求,需要用pgsql查询两个日期间的所有日期,包括年月日,下面贴代码:
1 select date(t) as day
2 from
3 generate_series('2020-10-27'::date,'2020-11-03', '1 days') as t;
下面是执行效果,跨年跨月的情况也是没问题的:
下面咱们说下PostgreSql中generate_series函数的用法:
用处:他可以按照不...
2020-12-17 /
657 次浏览 /
DBA运维