12得票2回答
如何在PostgreSQL中实现对复杂嵌套JSONB的全文搜索

我有一个存储在一个jsonb列中的相当复杂的JSONB。数据库表看起来像: CREATE TABLE sites ( id text NOT NULL, doc jsonb, PRIMARY KEY (id) ) 我们存储在 doc 列中的数据是一个复杂的嵌套的 J...

7得票2回答
使用窗口函数进行百分位数计算

我知道你可以使用窗口函数在数据子集上获取平均值、总数、最小值和最大值。但是,是否可以使用窗口函数获取中位数或第25个百分位数,而不是平均值? 换句话说,如何重写此代码以获取每个地区的id和第25或50个百分位数销售额,而不是平均值? SELECT id, avg(sales) OV...

19得票2回答
更改用户的默认模式

create schema bla; -- then create table table_name into this schema 我想改变用户(用户是postgres)的默认模式。 我执行了以下命令:ALTER ROLE postgres SET search_path TO bla...

7得票1回答
psql: 错误: 无法连接到服务器: 用户密码认证失败,致命错误

我已经成功安装了PostgreSQL,并将其路径添加到Windows 10的环境变量中。但是问题在于,当我尝试在命令提示符中运行psql postgresql时,它会显示错误信息。 C:\Users\adity>psql postgres Password for user adity...

27得票1回答
如何在PostgreSQL中插入或更新多行数据

我想在PostgreSQL 9.5.2中编写以下查询:INSERT INTO a (id, x) SELECT id, x FROM b ON CONFLICT (id) DO UPDATE SET x = b.x WHERE b.y < 100 但我得到了ERR...

8得票1回答
PostgreSQL 9.5 - 合并NULL和JSON时,更新操作不起作用

我的用户表包含一列类型为json的metadata列。 现在,我想要添加新的元数据到一个用户,并保留现有的值。 所以我使用||运算符来合并两个JSON对象: UPDATE users SET metadata = metadata::jsonb || '{"test": true}'::js...

28得票1回答
无需更新即可返回带有ON CONFLICT的INSERT中的行

我经常遇到这样一种情况,需要从一张拥有唯一约束的表中获取一行数据,如果不存在,则创建并返回它。 例如,我的表可能是:CREATE TABLE names( id SERIAL PRIMARY KEY, name TEXT, CONSTRAINT names_name_...

9得票2回答
如何在Postgres中使用冲突处理(upsert)来处理两列中的其中一列?

在Postgres 9.5中,如果表中的两列之一引发唯一性约束冲突,是否可以执行upsert操作?基本上,我有两列,如果任一列引发唯一性约束冲突,则我想执行更新操作。

7得票1回答
PostgreSQL中的`analyse`与`analyze`:

explain analyse select true; ╔════════════════════════════════════════════════════════════════════════════════════╗ ║ ...

9得票2回答
我该如何在PL/pgSQL中创建一个嵌套函数?

我希望在PL/pgSQL中创建一个函数,并且在其中嵌套一些内部函数,这样我就可以将问题分解成较小的部分,但我的较小部分不会被外部访问。 在PL/pgSQL中是否有可能实现这一点?如果可以,该如何操作?