307得票25回答
PostgreSQL-由于一些自动连接到数据库,无法删除数据库

每当我尝试删除数据库时,都会出现以下错误:ERROR: database "pilot" is being accessed by other users DETAIL: There is 1 other session using the database. 当我使用...

230得票2回答
PostgreSQL插入时冲突更新(upsert)使用所有排除的值

当你正在执行一次 upsert 行(PostgreSQL >= 9.5)时,如果你希望可能的 INSERT 与可能的 UPDATE 完全相同,你可以按照以下方式编写它: 当你正在执行一次upsert行(PostgreSQL >= 9.5)时,如果你希望可能的INSERT与可能的UPDATE完...

87得票5回答
没有唯一性或排除约束与ON CONFLICT匹配。

当执行以下类型的插入操作时,我遇到了以下错误: 查询语句:INSERT INTO accounts (type, person_id) VALUES ('PersonAccount', 1) ON CONFLICT (type, person_id) WHERE type = 'Person...

83得票4回答
在 PostgreSQL 9.5+ 中向 JSON 数组追加(push)和删除(remove)的方法

如果版本低于9.5,请参考这个问题 我使用以下代码在PostgreSQL中创建了一个表: CREATE TEMP TABLE jsontesting AS SELECT id, jsondata::jsonb FROM ( VALUES (1, '["abra","value"...

65得票3回答
PostgreSQL重命名jsonb字段中的属性

在postgresql 9.5中,是否有一种方法可以重命名jsonb字段中的属性? 例如:{ "nme" : "test" } 应该被重新命名为{ "name" : "test"}

59得票4回答
使用docker-compose启动Postgres时立即关闭

使用docker-compose启动Postgres时立即关闭。使用的yaml文件如下:version: '2' services: postgres: image: postgres:9.5 container_name: local-post...

55得票1回答
使用系统列区分UPSERT中插入和更新的行

最近在SO上有几个问题与如何区分PostgreSQL UPSERT语句(INSERT ... ON CONFLICT ... DO UPDATE ...)中插入和更新的行有关。以下是一个简单的例子: create table t(i int primary key, x int); inse...

43得票3回答
如何在PostgreSQL 9.5中正确执行upsert操作

正确的PostgreSQL 9.5 upsert语法是什么?以下查询显示“列引用'gallery_id'不明确”的错误,为什么? var dbQuery = `INSERT INTO category_gallery ( category_id, gallery_id, create_d...

42得票3回答
为什么Postgres视图没有启用行级安全性?

我需要严格控制Postgres数据的读写。可更新视图一直以来都能很好地提供对我的数据的严格控制,并允许我添加有价值的计算列。随着Postgres 9.5行级安全性的引入,出现了一种新而强大的控制数据的方式。但是我无法同时使用这两种技术-视图和行级安全。为什么?

41得票4回答
为Postgres整数数组添加值

我需要帮助,在PostgreSQL 9.5中将值10添加到int[]中。 查看文档,我应该能够使用以下格式进行更新,但它并没有起作用:int[] + int push element onto array (add it to end of array) 我已经尝试运行了这个:updat...