16得票1回答
“INSERT [...] ON CONFLICT”可用于处理外键冲突吗?

鉴于=> select * from referenced; referenced_id | name ---------------+------- 1 | one 2 | two 3 | three ...

15得票1回答
ON CONFLICT DO UPDATE缺少FROM子句。

我有一个简单的表格(id和name列,都是唯一的),我正在导入一个制表符分隔的CSV文件。 我正在运行psql 9.5,并想尝试使用新的ON CONFLICT功能,如果ID已经存在,则更新name列。 CREATE TEMP TABLE tmp_x AS SELECT * FROM rep...

15得票4回答
Knex js修改Postgresql中的枚举类型时出现错误

我正在使用knex js和postgresql数据库。我已经使用迁移文件创建了一个名为create_car_table的表。knex migrate:make create_car_table。在其中,我添加了一个名为fuel_type的列。table.enu('fuel_type',['PE...

15得票2回答
PostgreSQL IN 操作符性能:列表 vs 子查询

对于一个包含大约700个id的列表,查询性能比传递返回这些700个id的子查询要慢20倍以上。应该是相反的。 例如(第一个查询需要不到400毫秒,而后者需要9600毫秒)select date_trunc('month', day) as month, sum(total) from tab...

14得票1回答
PostgreSQL 9.5 - 行级安全 / 角色最佳实践

我正在努力掌握如何在支持Web应用程序的多租户数据库中使用新的行级安全特性的最佳方法。 目前,该应用程序有几个不同的ROLE可用,具体取决于它尝试执行的操作。 一旦应用程序使用自己的ROLE建立连接,应用程序将身份验证参数(由用户提供)传递到不同的函数中,根据用户提供的身份验证参数过滤出行...

14得票3回答
如何在PostgreSQL中获取行策略列表?

PostgreSQL文档描述了如何创建或删除行策略,但没有说明如何获取现有的策略列表。我的目标是能够通过使用pgAdmin来知道是否有影响表格的行策略以及它们的工作方式。谢谢!

14得票4回答
如何使用Homebrew将Postgis安装到Postgres@9.6的Keg安装中?

我已通过Homebrew安装了Postgresql@9.6和Postgis。然而,通过Homebrew安装Postgis会将最新版本的Postgresql依赖关系安装在10上,并且固定Postgresql的版本为9.6.5会阻止通过Homebrew安装Postgis。 执行“CREATE E...

13得票1回答
Postgres 9.5 ON CONFLICT DO SELECT

在Postgres 9.5执行UPSERT时,能否在INSERT成功时返回null,并在冲突时返回其他内容? 我希望像这样做: insert into "user" (timestamp, user_id, member_id) values ($1, $2, $3) ON CONFLI...

13得票3回答
如何在PostgreSQL中存储JSON对象的数据类型是什么?

我对postgresql非常陌生。 我想把以下json对象存储到postgresql数据库中。{ "host": "xxx.xxx.xx.xx" "type": "OS" } 请问在postgresql中应该使用什么数据类型?谢谢。

13得票3回答
直接通过块范围索引(BRIN)标识符查询Postgres表

我有 N 台客户机。我想将每台机器加载不同的BRIN索引分区。 这需要以下操作: 创建具有预定义分区数量(等于客户机数量)的BRIN索引 从客户端发送查询,使用BRIN分区标识符而不是对索引列进行过滤的WHERE 主要目标是在将单个表从Postgres加载到分布式客户端机器时提高性能,...