
PostgreSQL数据库
文章平均质量分 74
Sandata!
荟萃业内名师,培养数据英才!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Ubuntu 下编译安装 PostgreSQL
前言最近有同学问到在 Ubuntu 下如何编译安装 PostgreSQL。这次内容就来说一下如何在 Ubuntu 操作系统中安装 PostgreSQL 数据库。那么,安装 PostgreSQL 对于 DBA 来说是再简单不过的事儿了,我们知道 PostgreSQL 在 Redhat 家族系统中有三种安装方式,分别是源码安装,rpm 方式安装和yum 方式安装,当然,rpm 安装和 yum 安装可以当做是同类型的安装,除此之外,就是使用已经编译好的二进制安装。那么对于Ubuntu操作系统来说,除了一键化使用原创 2021-12-17 11:25:26 · 1793 阅读 · 0 评论 -
PostgreSQL 常见时间日期处理
前言在实际业务开发过程中,通常会遇到对时间日期相关的处理,这里列出一些常见的时间日期处理方法。1. 时间戳带时区和不带时区创建表字段时,指定带时区时间日期数据类型postgres=# CREATE TABLE tab_test(id serial,app_name varchar,app_release_date timestamp with time zone default now()); CREATE TABLE postgres=# INSERT INTO tab_test原创 2021-10-19 11:09:32 · 5745 阅读 · 0 评论 -
PostgreSQL 密码验证功能增强
更多精彩内容,请登录:ke.sandata.com.cn密码验证介绍passwordcheck 模块是在 CREATE ROLE 或者 CREATE USER 期间检查用户密码是否符合指定的规则模块如果密码比较弱,那么在此期间将会拒绝执行密码并返回一个错误。 该模块位于 srcpkg/contrib 目录下,安装后位于 $libdir 目录下,使用 shared_preload_libraries加载并重新启动服务器后生效。在该模块中,主要有两个规则判断,一个是用户名自身的判断,一个是密码长度少于8位的原创 2021-06-18 10:30:01 · 490 阅读 · 0 评论 -
【晟数学院】PostgreSQL—greenplum使用gpcopy数据传输方案
更多精彩内容,请登录:ke.sandata.com.cn一 架构基础环境主机mdw和备机mdwbak节点对等,都采用2+4架构。1.1 主机列表1.2 CPU及内存所有节点都采用华为云服务器,CPU核心数为16核心,内存为32G,节点总数为12。主机备机都采用内部万兆网络。磁盘为单独挂载磁盘,采用高性能IO磁盘,实际最高读写性能为350M/s。1.3 计算节点和镜像节点计算节点primary数量为主备机都为24,镜像节点mirror数量为主备机都为24,总节点数量为48。1.4 数据库版本原创 2021-04-20 15:59:47 · 469 阅读 · 0 评论 -
Greenplum 数据同步方案—PostgreSQL技术文章晟数
更多精彩文章,请登录:ke.sandata.com.cn一、目的当前现有服务器状态为同机房两套 Greenplum 集群,节点数为 2 + 4。为满足未来灾备中心建设,需要构架高可用架构方案,以满足未来在生产系统集群出现不可恢复状态下,备用集群可以完全接管生产系统集群,以实现高可用架构。二、方案目前方案分为以下两种,一种为数据实时同步高可用方案,一种为允许数据同步有一定的延迟状态。2.1 数据实时同步高可用架构(本文省略)架构图如下(不做说明)当主机中心由于不可抗拒因素或者硬件及认为因素不可原创 2021-04-13 15:54:28 · 1689 阅读 · 2 评论 -
【晟数学院】多台机器之间一键化互信脚本实现—PostgreSQL数据库
前言在生产环境中,尤其是集群之间,为了能够使机器之间免密访问,通常需要配置ssh keys 互信,一两台机器手动也会很快处理好,但如果是多台机器,手动做互信就显得有点力不从心了,有可能还会配置错误,为了能够一键化完成自动配置,以下使用shell脚本实现自动互信过程。一、实现脚本脚本名称为:autoexssh.sh,执行脚本前需要在各个服务器上安装expect包,可以使用yum方式安装,也可以使用源码编译安装,Depend On You 。#!/bin/bash##################原创 2021-04-07 12:01:28 · 246 阅读 · 0 评论 -
【晟数学院】PostgreSQL数据库—pgweb网站工具使用
pgweb简介pgweb是用Python语言使用 Django框架构建而成。同时该网站也使用bootstrap CSS框架以及Font Awesome 图标库。pgweb中的大多数内容都是静态的HTML模板,如果需要对web页面进行编辑,只需要对 template/pages/ 目录下的内容进行编辑。安装1. 准备Python环境安装Python3.7环境./configuremake -j24make install -j24[root@pgserver ~]# python3 --ver原创 2021-03-30 10:41:30 · 871 阅读 · 0 评论 -
PostgreSQL HLL插件介绍—晟数学院
更多精彩内容:请登录ke.sandata.com.cn前言HLL是 HyperLogLog数据结构的简称。PostgresSQL通过插件的方式引入了这种新的数据类型hll。HyperLogLog是一个具有固定大小,类似于集合结构,用于可调精度的不同值计数。例如,在1280字节的hll数据结构中,它可以在很小的误差范围内估算出数百亿的不同值计数。算法hll可以被视为层次结构的不同集合/不同值计数算法的组合,并向上移动该层次结构的规则。为了区分上述描述算法,将其命名为以下:♠ EMPTY表示空集的常原创 2021-02-26 11:28:13 · 917 阅读 · 0 评论 -
PGCM-PostgreSQL备份工具 pgBackRest使用
前言pgBackRest是一款开源的备份还原工具,目标旨在为备份和还原提供可靠易用的备份。特性并行备份和还原备份操作期间压缩通常是其瓶颈所在。pgBackRest通过并行处理解决了备份期间压缩出现的瓶颈问题。本地远程操作自定义协议允许 pgBackRest以最小化配置通过SSH在本地或者远程执行备份、还原和归档。并且该程序也通过协议层提供了PostgreSQL查询接口,以便于必须要再远程访问PostgreSQL,从而保证了其安全性能。全量,增量和差异备份支持全量,增量和差异备份。pgBack原创 2021-01-22 11:20:47 · 906 阅读 · 0 评论 -
PostgreSQL查找需要收集的vacuum表信息—晟数学院
前言通常,在PostgreSQL中,由于经常需要对表进行 UPDATE 和 DELETE,因此表会产生碎片空间。在 PostgreSQL中,使用VACUUM 仅仅对需要执行 VACUUM 表将已删除的空间标识为未使用,以便以后重用这些空间,但是不能立即将占用的空间返还给操作系统,因此需要使用 VACUUM FULL,才可以释放空间,并立即将空间返还给操作系统。实现脚本记录收集表创建CREATE TABLE IF NOT EXISTS tab_vacuum_record(sqltext text);原创 2021-01-11 17:17:46 · 480 阅读 · 0 评论 -
PostgreSQL libpq学习指南二
链接状态函数PQdb返回连接的数据库名称PQuser返回连接的用户名称PQpass返回连接的用户密码如果连接密码没有被提供,那么将会尝试从 password_file 文件中获取。PQhost返回连接的服务器主机名称PQhostaddr返回连接的服务器IP地址PQport返回连接服务器的端口PQtty返回连接的DEBUG 终端信息PQoptions返回命令行传递的参数信息PQstatus返回连接的状态信息示例:#include <stdio.h>#in原创 2021-01-08 17:31:49 · 509 阅读 · 0 评论 -
PostgreSQL libpq 客户端接口(一)
前言Libpq 是为 C 语言开发这提供的关于 PostgreSQL 的接口。Libpq 由相关库函数组成,可以允许客户端程序通过将查询传递给 PostgreSQL 后台服务器并接收这些查询返回的结果。同时,libpq 也是其它几个 PostgreSQL 应用程序接口的基础引擎,包括 C++,Perl,Python,Tcl和ECPGC编程的嵌入式 SQL。连接字符串以下函数处理 PostgreSQL 后台服务器的连接。一个应用程序同时可以有多个打开的连接,这也是 PostgreSQL 服务器能够同时访原创 2020-10-21 15:40:30 · 1027 阅读 · 2 评论 -
PostgreSQL 中的shared buffer
前言通常,在任何数据库系统中,都需要面临海量用户对数数据库进行读写操作。而对数据库中的数据最直接的读写操作是读取数据库中对应的数据目录中的文件。这些文件里面包含了数据库的任何对象,如表、视图、索引、序列、函数等。PostgreSQL 也不例外,在对数据库初始化时,我们能够看到由PostgreSQL 服务端工具 initdb 创建的相关表和目录,但在一个不具有弹性伸缩的数据库系统中,海量用户对数据库的读写操作并不是很理想。因为对数据库的数据对象进行读写操作需要数据库系统查找相关文件,打开文件,然后通过相关的原创 2020-10-09 15:46:34 · 1830 阅读 · 0 评论 -
PostgreSQL-openGuassDB介绍及安装实践
一、openGuass介绍openGaussDB(openGauss)是华为云深度融合在数据库领域多年的经验,结合企业级场景需求,推出的新一代企业级分布式数据库,支持集中式与分布式两种部署形态。在支撑传统业务的基础上,持续构建竞争力特性,为企业面向5G时代的挑战,提供了无限可能。(来自华为云官方)。openGauss 于2019年9月19日正式开源,于2020年6月30日正式开放源代码,并成立openGuass社区。官方网站地址 https://opengauss.org。openGuass 底层框架源原创 2020-07-09 15:20:15 · 3931 阅读 · 0 评论 -
PostgreSQL中的ACID特性介绍
任何关系型数据库中,ACID 是组成数据库的重要部分,是数据库事务的一组属性,该特性目的主要确保数据库在异常情况下保证数据的有效性。数据库ACID特性A(Atomicity)原子性:事务通常由多个语句组成。原子性保证将每个事务视为单个单元,该事务要么完全成功,要么完全失败。换句话说,如果在一个事务中,任何语句都未能完成,整个事务都会失败,未完成事务中的数据条目在数据库中保持不变。一个原子系统必须保证在任何情况下都具有原子性,包括电源故障,数据库错误和实例奔溃。同时,原子性可以防止在数据库中发生部分数原创 2020-06-30 10:55:34 · 625 阅读 · 0 评论 -
PostgreSQL之SQL函数介绍及实践(二)
RDBMS作为管理数据安全,共享,可靠的软件管理系统,需要按照不同的数据模型组织和存储数据,为了方便用户处理数据,任何数据库为了简化业务开发复杂度,提供了丰富的不同数据类型的处理函数。而PostgreSQL除了支持 SQL 标准所支持的函数外,也可以使用不同的服务器编程接口来实现自定义函数,以针对不同的业务需要进行针对性开发。今天来给大家介绍一下PostgreSQL中的字符串处理函数。一、字符串处理函数1.1字符串操作符PostgreSQL对于字符串的操作符,支持关系型数据库中通用的符号 ||,用来多原创 2020-06-05 17:43:52 · 990 阅读 · 0 评论 -
PostgreSQL之SQL函数介绍和实践(一)
为了处理数据库中的业务数据,需要使用SQL函数去适当处理,通常常用的函数都内置在数据库中。但业务需求仅仅依赖于数据库内置的函数远远不够,因此一个数据库如果可以提供自定义函数来实现业务需求,对于数据库本身来说,扩展性更强。在PostgreSQL中,PostgreSQL不仅支持丰富的数据类型,也支持丰富的 SQL 函数。当在 SQL 函数中传入的参数不是 PostgreSQL 期望的数据类型,PostgreSQL 将会尝试在执行 SQL 函数之前,对传入的参数进行隐式转换。同时,PostgreSQL 也支持自定原创 2020-06-05 17:27:59 · 1144 阅读 · 0 评论 -
PostgreSQL之SQL操作符介绍及实践
操作符是数据库具有的运算特性,对文本字符和一些标签字符的处理,使用操作符可以简化SQL代码,同时也可以节省开发时间和提高开发效率。比较操作符在PostgreSQL中,所有的数据类型都可以使用比较操作符,比较操作符运算结果返回一个布尔值。即 TRUE 或者 FALSE。比较操作符为双目操作符,因此被比较的两个值的数据类型必须是相同的数据类型或者在彼此之间可以进行隐式类型转换。在PostgreSQL中,提供的比较操作符有 > 、< 、<= 、>= 、= 、<> 或者 !=原创 2020-05-25 11:48:22 · 1161 阅读 · 0 评论 -
基于Pgpool搭建PostgreSQL11的集群
基于Pgpool-II4.1.0搭建PostgreSQL11集群Pgpool介绍pgpool相关介绍不在该文章中,需要者可以参考我的另一篇文章。传送门:pgpool介绍环境准备本次使用三台CentOS7.3的服务器来搭建集群,首先在三台服务器上部署PostgreSQL11.6版本的数据库,部署教程大家可以网上自行查找。具体规划如下:架构图参考官网:搭建配置01服务器配置故障转移、在线恢复时需要ssh到其它服务器执行命令,故需要配置服务器之间无密码ssh登录(如服务器之间已经配置ssh可以转载 2020-05-15 15:44:27 · 724 阅读 · 0 评论 -
plpgsql系列教程—函数
函数声明通过执行CREATE FUNCTION命令,以PL/pgSQL写成的函数可以被定义到服务器中。CREATE or REPLACE FUNCTION somefunc(integer, text) RETURNS integerAS 'function body text'LANGUAGE plpgsql;PL/pgSQL是一种块结构的语言。一个块被定义为:[ <<label>> ][ DECLARE declarations BEGIN st转载 2020-05-09 13:38:23 · 1363 阅读 · 0 评论 -
PostgreSQL常用数据类型及实践
前言数据类型是编程语言中,在其数据结构上定义的相同值类型的集合以及对该相同值集合的一组操作。而数据类型的值存储离不开变量,因此变量的一个作用就是使用它来存储相同值集的数据类型。数据类型决定了如何将代表这些值的集合存储在计算机的内存中。变量一般遵循先声明后使用的原则。而在数据库中,变量就是字段,用字段来表示一组相同值类型的集合,其实也是先声明后使用的原则。PostgreSQL支持丰富的数据类型,包括一般的数据类型和非常规的数据类型。一般数据类型包括数值型,货币类型,字符类型,日期类型,布尔类型,枚举类型等原创 2020-05-09 13:23:17 · 2137 阅读 · 0 评论 -
plpgsql系列教程-变量声明与数据类型
声明变量声明变量的语法为:name [ CONSTANT ] type [ COLLATE collation_name ] [ NOT NULL ] [ { DEFAULT | := | = } expression ];CREATE FUNCTION test() RETURNS void AS $$<< outerblock >>DECLARE out...转载 2020-04-29 14:26:26 · 2929 阅读 · 0 评论 -
PL/pgSQL之入门
PL/pgSQL介绍plpgsql入门,介绍使用它有哪些优点以及一个HelloWorld。PL/pgSQL是一种用于PostgreSQL数据库系统的可载入的过程语言。可以被用来创建函数和触发器过程对SQL语言增加控制结构可以执行复杂计算继承所有用户定义类型、函数和操作符可以被定义为受服务器信任便于使用优点客户端和服务器之间的额外往返通信被消除客户端不需要的中间结果不必被...转载 2020-04-17 15:51:43 · 1032 阅读 · 0 评论 -
Postgresql实战经验之alter table 开小差了
Postgresql实战经验之alter table 开小差了今天需要将一张有数据的表中一个字段varchar 类型转换为timestamp类型,但是pg的alter table 语句却开小差,出现了两种问题,翻了pg10.5中文手册、很多博客文档,做了对比实验,哎,可谓费了九牛二虎之力才解决问题。1.alter table 修改表定义(DDL操作)官方文档关于alter table 的用法...转载 2020-03-24 14:26:52 · 561 阅读 · 0 评论