问题标签 [postgresql-12]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
205 浏览

linux - 通过bash脚本运行时psql列名不存在

我正在尝试在 bash 脚本中运行多个 sql 语句。我尝试在 psql 上运行以下语句,它工作正常。但是,当我在脚本上运行确切的语句时,它说该列不存在。

该声明

我知道在 Postgres 中,需要在大写列名上使用双引号。我这样做了。

这是我的 bash 脚本:

我得到的错误:

错误:列 h.idx 不存在第 1 行:...M table_a h JOIN table_b b ON h.IDX = b....

0 投票
0 回答
595 浏览

postgresql - 复制不适用于 PostgreSQL 12.1 中的生成列

我正在使用以下架构进行复制。

主(出版)数据库模式:

副本身份:

副本(订阅)数据库模式:

当我开始复制时,系统会抛出以下错误:

错误:发布者没有发送逻辑复制目标关系“public.patient”期望的副本标识列

如果我将主键 patientid 更改为CONSTRAINT pk_patient PRIMARY KEY (clientid,pk),它将正常工作。

我不想更改订阅数据库的主键。

如果您有任何解决方案,请告诉我。

0 投票
1 回答
65 浏览

sql - SQL 如果至少有一条记录满足条件,则格式化整个字段(列)的日期

我从客户端以文本格式接收数据,然后必须将其转换为 MS SQL Server 2016 和 Postgresql 12 的日期。

日期可以采用以下格式:

30.12.2019 或 12.30.2019 或

2019 年 12 月 30 日或 2019 年 12 月 30 日

幸运的是,相同的格式适用于整个字段(列),但是我的查询需要确定它是其中的哪一个。

我想在 TSQL 和 POSTGRESQL 中应用条件子句(如 CASE WHEN/IF)。这是我到目前为止所拥有的:

TSQL:

POSTGRESQL:

但是,这仅涵盖以下场景

2019 年 12 月 30 日和 2019 年 12 月 30 日。

如果特定位置的数字之一超过 13,那么如何使用条件,那么所有日期都将被格式化。

谢谢!

0 投票
2 回答
771 浏览

postgresql - PostgreSQL:使用 json 对象从数组中删除键/值对

我有一张桌子:

我想要的是从actors数组的每个json对象中删除电子邮件字段(键+值)。

我尝试了以下解决方案,虽然它确实执行了,但它对数组根本没有任何影响:

0 投票
2 回答
1251 浏览

postgresql - 从另一个 docker 容器中的 pgAdmin4 访问 docker 容器上的 PostgreSQL

我有一个在 docker 上运行的 PostgreSQL 实例,使用以下命令:

它已启动并正在运行,我可以从安装在本地计算机上的 DBeaver 访问它。另外,我已经通过这些命令安装了 pgAdmin4:

pgAdmin 也启动并运行良好,我可以轻松访问它并通过http://localhost:5050登录它。

但是当我想通过 pgAdmin4-container 实例连接到我的 postgre-container 实例时,我得到了这个错误:

无法连接到服务器:

无法连接到服务器:连接被拒绝 服务器是否在主机“localhost”(127.0.0.1) 上运行并接受端口 5432 上的 TCP/IP 连接?无法连接到服务器:地址不可用服务器是否在主机“localhost”(::1) 上运行并接受端口 5432 上的 TCP/IP 连接?

请问有人知道这里出了什么问题吗?提前致谢。

注意:我的主机是 Fedora 31。

0 投票
1 回答
83 浏览

sql - 用单引号替换双单引号在 PostgreSQL 12 中不起作用

将单引号替换为双单引号在 PostgreSQL 12 中不能正常工作,它在 PostgreSQL 11 中工作正常。

PostgreSQL 12

询问:SELECT REPLACE(patient.note,'''',''''''), * FROM patient

输出文本:Medicare Secondary Veteran�s Administration

PostgreSQL 11

询问:SELECT REPLACE(patient.note,'''',''''''), * FROM patient

输出文本:Medicare Secondary Veteran’s Administration

如果您有任何解决方案,请告诉我。

0 投票
1 回答
223 浏览

postgresql - 在 PLPGSQL FOR 循环中检测空集

有什么方法可以检测 Postgres 中的查询返回的集合是空的吗?

即:

当然,我可以在循环之前运行查询并使用NOT FOUND或引入一个计数器,然后检查它是否0在循环的末尾,但我想知道是否有办法避免这种情况。

(可能更适合 dba.SE 但从这里开始)

0 投票
1 回答
1832 浏览

sql - 程序不存在 PostgreSQL

我已经创建了插入新记录的过程

但是当我尝试调用它时,我得到了错误

程序 savestudent(unknown, unknown, unknown, unknown, integer, integer) 不存在

是什么原因造成的?

0 投票
1 回答
500 浏览

pgadmin-4 - PG 升级错误

我已将 Postgres 升级到 12.1,将 PostGIS 升级到 3.0,将 PGAdmin 升级到 4.15。运行查询和使用 PGAdmin GUI 会导致一些错误消息:

  1. 错误:列 rel.relhasoids 不存在第 1 行:选择 rel.relhasoids AS has_oids

  2. 从服务器检索数据时出错:INTERNAL SERVER ERROR 字符串索引必须是整数

我错过了什么可以解决这些错误?

0 投票
1 回答
56 浏览

postgresql - postgresql 插入到从 json 中选择

是否可以在不指定列的情况下从 PostgreSQL 中的 json 字典插入表?

鉴于有一个表books_1:

我想将其插入到具有完全相同的列和数据类型的表中,例如:

理想情况下,我会执行:

背景:使用标准 PostgreSQL,我可以轻松地制作 JSON 表转储。我也可以导入它们,但它们是作为 jsonb 导入的。

我想将 json 重新导入“常规”属性,而不是 json。我可以通过指定所有列来做到这一点,但由于有很多表和列,我真的不想这样做。应该没有必要,因为无论如何列都是相同的。

我可能正在寻找一个函数,它根据 json 中的键返回列列表。我想顺序必须相同。但是由于导出也是从 PostgreSQL 完成的,所以这可能是有保证的。