PostgreSQL 10.0 preview 功能增强 - 角色化权限管理 - 新增几个内置角色(统计信息查看、管理用户会话)
背景 PostgreSQL 10.0 开始植入了一些内置的角色,例如pg_backend_pid角色可用于cancel, terminate任何PID,除此之外没有其他超级用户的权限,这种用户可以给DBA或者给一些业务OWNER使用,便于它们在紧急情况下行使权力,杀掉一些会话。 同时为了便于DBA或者业务OWN...
背景 PostgreSQL 10.0 开始植入了一些内置的角色,例如pg_backend_pid角色可用于cancel, terminate任何PID,除此之外没有其他超级用户的权限,这种用户可以给DBA或者给一些业务OWNER使用,便于它们在紧急情况下行使权力,杀掉一些会话。 同时为了便于DBA或者业务OWN...
背景 PostgreSQL 10.0新增了数十个IO等待事件,描述系统调用的等待。 Hi All, Attached is the patch, which extend the existing wait event infrastructure to implement the wait ...
背景 你是否曾经被不带where 条件的SQL误伤过呢? 比如 update tbl set amount=amount-100 where id=?; 缺少where条件,就变成了 update tbl set amount=amount-100; 正常情况下,这样的SQL不应该在业务逻辑中出现。通常...
背景 俗话说常在河边站哪有不湿鞋,作为一名战斗在一线的DBA或者开发者,可能有遇到过磁盘损坏,磁盘阵列损坏,如果有备份或者备库的话,还好。 如果没有备份,或者没有备库(通常有一些小型或者创业型的企业),那么遇到磁盘损坏或者其他原因(比如掉电文件系统损坏),导致数据库的数据文件并不完整时,如何从有限的资料中找出数...
背景 从已有字符串内容中找出含有中文,或者找出含有单字节字符的记录。 方法要从字符串在数据库中的编码和存储说起。比如多字节字符集,单字节字符SQL_ASCII。 比如PostgreSQL中UTF8, EUC_CN属于多字节字符集,编码为变长编码。 SQL_ASCII为无编码字符集,存储为字节流。 要从不同...
背景 区块链的概念请参考 https://github.com/yeasy/blockchain_guide/blob/master/intro/what.md 截取部分如下 什么是区块链 区块链的基本原理理解起来并不难。基本概念包括: 交易(Transaction):一次操作,导致账本...
背景 PostgreSQL的很多设计非常的工业化,比如开放了许多扩展接口(类型、操作符、索引、扫描、采样、数据库编程语言等)。 另外还有一个,认证也是模块化的,比如你不喜欢md5的认证方法,可以随意更换认证模块,提高安全性。 20.3.1. Trust Authentication 20.3.2. Pas...
背景 PostgreSQL数据库的巡检脚本在这里,自动生成txt格式巡检报告(包括采集项以及建议项目)。 https://github.com/digoal/pgsql_admin_script/blob/master/generate_report.sh 巡检项目前包括了如下: |++++++++++++...
背景 PostgreSQL是一个跨平台的数据库,比如支持WindowS, AIX , linux , freebsd等。 同时也支持不同架构例如X86,ARM等。 对于相同架构,不同平台,是否能实现文件级别的平移,甚至物理的流复制搭建STANDBY呢? 理论上从数据库的存储层面来看,如果两个平台存储结构(比...
背景 自从PostgreSQL 9.6支持CPU多核并行计算后,PostgreSQL最流行的插件之一PostGIS,用户对多核需求也越来越多。 原因是PostGIS中有大量的运算是非常耗费CPU资源的,比如raster类型相关的运算。 PostGIS tends to involve CPU-intensiv...