Oracle、MySQL、PostGreSQL、SQL Server数据库比较系列(一):null value

最近几年数据库市场百花齐放,在做跨数据库迁移的数据库选型时,除了性能、稳定、安全、运维、功能、可扩展外,像开发中对于值的处理往往容易被人忽视, 之前写过一篇关于PG区别Oracle在SQL解析缓存的笔记《PostgreSQL 12 : Prepare statement和plan_cache_mode 参数》,这里记录一下null 值在这几个数据库中的区别。

,

openGauss 2.0/3.1/5.0 企业版单机最简安装小测

对于我这从事10余年的oracle dba从未像今年这样感觉到压力, 国产开源数据库铺天盖地的宣传,我依旧建议不要满目随大流式换库,因为数据库迁移经验对于不同的业务场景并非可以完全复制,昨天想装个openGauss小测一下,发现2.0新鲜发布,OpenGauss社区可以下载安装介质,openGauss内核源自PostgreSQL 9.2,是一款开源关系型数据库管理系统,采用木兰宽松许可证v2发行。

PostgreSQL无效页面和校验(Checksum)和验证失败(Verification Failed)

前几天分享了oracle lost write detection, 后来想找找postgresql有没有相同技术,结果没有找到,但是对于对于PostgreSQL中无效页面(Invalid Page In Block)是有发现机制的, PostgreSQL主要在进出buffer cache的过程中维护页面有效性,PostgreSQL在数据库和操作系统(固件,磁盘,网络,远程存储)之间有强大的”边界”。

,

Go语言(GO lang)连接PostgreSQL Database使用pq

《Go语言(GO lang)连接Oracle Database使用godror》上篇以后,这里继续测试使用GO Lang操作PostGreSQL, 使用pq驱动。

使用pg_top动态monitoring PostgreSQL实例

操作系统有top (AIX topas)可以监视系统的进程信息, oracle也有著名的oratop 工具显示顶级会话信息,目前在oracle 12c以后的版本oratop已经集成到了安装介质中, PostgreSQL 也有一个类似的工具pg_top, 用于监视数据库中的实时活动,以及查看数据库主机本身的基本信息,也可以交互显示及定期自动刷新。

PostgreSQL 12 : Prepare statement和plan_cache_mode 参数

在SQL的初始解析阶段PostgreSQL和ORACLE rdbms有很多相似之处, 如开始会进行语法、语义的检查,那些元数据存在system表空间(oracle)或 system catalog(PostgreSQL). 然后根据之前预准备的统计信息(可能动态采样),CBO 会为SQL执行生成一个执行计划. 但是在解析完成后ORACLE和PG(以下用PG代替PostgreSQL)会存在一些差异,oracle会把执行计划存储在shared pool(Libaray cache)中对于所有会话可以共享,但是PG存储在program的本地内存中

, , ,

Script: PostgreSQL 实现字符串拆分 split (二)

几年前写过一篇在oracle 使用oracle函数实现的类似java 语言中的split 拆分功能,这篇改用PostgreSQL实现类型的功能。
在PG提供了两个函数用于拆份字符串:
regexp_split_to_array:它根据正则表达式拆分字符串并将其部分返回到数组中。
regexp_split_to_table:它根据正则表达式将字符串拆分为多个部分,并将其部分返回到表的行中。

, ,

PostGreSQL12 源码安装与时区修改 (一)

这篇简单的记录PostGreSQL12 (以下简称PG)Binary packages on RHEL 7.3安装过程,与后期的PG DB 和RHEL7 OS字符集修改。

,