PostgreSQL 使用 JDBC 调用存储过程错误
最近在迁移 Oracle 数据库到 PostgreSQL 时遇到了 PostgreSQL 中调用存储过程异常的情况。本文简要记录以下定位及其修复过程。
最近在迁移 Oracle 数据库到 PostgreSQL 时遇到了 PostgreSQL 中调用存储过程异常的情况。本文简要记录以下定位及其修复过程。
在 PostgreSQL 中,查询一般会经历以下几个阶段:
pg_cron 是 PostgreSQL 数据库的一个作业调度器插件,通过该插件我们可以定时的执行一些特殊的任务。它遵循 Linux crontab 的配置语法,您可以通过在线工具 crontab.guru 来验证您的 cron 表达式。目前,pg_cron 仅支持 PostgreSQL 10 及其之后的版本。本文将简要介绍 pg_cron 的安装及其使用。
在 Oracle 中可以通过 utl_http 来发送 HTTP 请求,PostgreSQL 中默认不支持,但是,我们可以通过 plpython3u 插件来实现这个功能。
在 Oracle 迁移到 PostgreSQL 数据库的过程中,我们通常使用 PostgreSQL 中的 VARCHAR
类型替换 Oracle 中的 VARCHAR2
类型。本文将针对 Oracle 中的 VARCHAR2
类型和 PostgreSQL 中的 VARCHAR
类型进行简要的比较。
最近发现 PostgreSQL 在更新组合类型构成的 domain 数组将导致数据库崩溃。在写这篇文章的时候这个 bug 已经被修复了。
最近在浏览 PostgreSQL 邮件列表时发现一个 bug:逻辑复制时,如果发布者和订阅者的 datestyle
不一致可能导致逻辑复制失败。本文简要记录这个问题的分析与修复方法。
在最近发布的 PostgreSQL 14 中,我们最兴奋的功能之一是引入了 multirange 类型。简而言之,multirange 类型是一组不重叠的范围(range)。与范围数组不同,它们防止重叠,因此允许你有效地建立有间隙的范围模型。
我们对它们的一个用例是建立时间模型。例如,如果您想记录累积的时间和某人在医院的天数,您可以将其存储为一个 datemultirange 类型。
在 PostgreSQL 14 中,有相当多的运算符和函数可用,但我们需要的一些明显的运算符和函数包括聚合,如联合聚合,目前还不存在。然而,还有一些标准的运算符,如 +
(合并两个范围)和 *
表示两个范围相交,-
表示两个范围的差,以及常见的包含布尔运算符。
Oracle 数据库中空字符串和 NULL
在字符串的环境下是相同的,这就意味着我们可以直接将其与字符串进行操作从而得到我们想要的结果,然而在 PostgreSQL 数据库中,任何字符串与 NULL
进行操作结果均为 NULL
。因此,在迁移 NULL
字符串操作时,我们需要特别注意。