问题标签 [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 投票
1 回答
129 浏览

postgresql - 禁用 PostgreSQL 查询优化?

我遇到了完全禁用 PostgreSQL 查询优化的需要,以便我可以衡量应用 QO 的有效性(我想看看之前和之后)。我遇到了这个主题如何 从 2014 年开始禁用 PostgreSQL 的所有优化,基本上说这是不可能的。我想知道从那以后有什么改变吗?我真的很想看到一个糟糕的计划与一个好的计划有很大的不同。

0 投票
2 回答
428 浏览

sql - Postgresql搜索是否存在于嵌套的jsonb中

我是 jsonb 请求的新手,我遇到了问题。在“项目”表中,我有“id”和“数据”jsonb。这是看起来像数据的内容:

data 中的值始终是一个包含对象的数组,但有时对象可以具有包含对象的“字段”值。最大深度为一级。

如何选择项目的 id,例如包含“paramId”:3 和“value”:“cat”的对象,并且还有一个带有“paramId”:5 和“value”的对象 LIKE '%ish%' .

当对象处于 0 级时,我已经找到了一种方法来做到这一点

但如果字段存在,我不知道如何在字段数组中搜索。

预先感谢您的帮助。

编辑:
看起来我的问题不清楚。我会努力让它变得更好。

我想要做的是找到“数据”列对象中符合我的搜索条件的所有“项目”。这无需查看对象是在第一级还是在对象的“字段”键内。再例如。如果我搜索应选择此记录:

  • 'paramId': 3 AND 'value': 'cat
  • 'paramId': 4 AND 'value': LIKE '%og%'

匹配的在 'paramId': 6 对象的 'fields' 键中,我不知道该怎么做。

0 投票
2 回答
3420 浏览

postgresql - PostgreSQL 数值字段溢出错误 - 精度为 10、比例为 1 的字段必须舍入到小于 10^9 的绝对值

请我试图找出每行中两个值总和 imls2016.visits 和 imls2010.visits 总和之间的百分比差异。在我在联合声明中添加第三个表(该表是 imls_regions)之前,这之前工作正常。但是每当我运行新代码时,它都会引发数字溢出错误。我已经调整了精度和比例,但我无法纠正这个错误。请问我应该在我的代码中改变什么:(PostgreSQL 12)

  • 错误消息:>“错误:数字字段溢出详细信息:精度为 10、比例为 1 的字段必须舍入为小于 10^9 的绝对值。SQL 状态:22003”

我的代码:

0 投票
1 回答
972 浏览

postgresql - uuid 作为散列分区的主键和分区键

我在 PostgreSQL 12 中设置了一个由哈希表分区的分区,它将有 256 个分区。我使用 uuid 作为表的主键。使用与哈希键相同的 uuid 列是否可以接受?

0 投票
0 回答
27 浏览

sql - 按限制 Postgres12 排序的奇怪行为

我有一个像这样的查询:

返回:

但是当添加限制 1

我正进入(状态

这是 PostgreSQL12 中的错误吗?

0 投票
0 回答
761 浏览

postgresql - 如何在 postgresql 12.2 中导入 .sql 文件

我正在使用 PostgreSQL 12.2,我有一些 *.sql 文件要导入数据库

但我面临这个错误

如何在我的数据库中导入 .sql 文件?

0 投票
1 回答
31 浏览

sql - 在两个不同的列中搜索和匹配索引,返回第三列的总和 - Postgresql

我有一个名为“tax_info”的表,这个表存储了我所在城市的地税信息,它是这样的:

纳税人代码前3位是市区,后3位是小区内的街区,如果condo号码是00-0的话,后4位可以是街区内的地段,或者是公寓,或者商店等,如果公寓编号不同于 00-0,在这种情况下,所有相同的公寓编号均指该街区内的同一地段。

我想要做的是传递“taxpayer_code”列表并获取地段的“lot_area”和“built_area”。问题是,如果这个人住在公寓里,她的公寓只是该地段总建筑面积的一小部分。因此,如果我搜索代码 0010030078%(-X 数字无关紧要),结果是:Lot Area = 143 and Built Area = 130

但如果我搜索 0010030080%,我期望的结果是:Lot Area = 283 and Built Area 155

如果我搜索 0010030078%、0010030079%,结果:地块面积 = 426 和建筑面积 285

所以数据库应该得到纳税人代码,然后查看每个通过的代码的公寓号码是否不同于 00-0,如果是,它应该将在同一区域内共享相同公寓号码的所有其他纳税人代码添加到总和中并阻止。(理想情况下,如果通过了属于不同地区或街区的税码,则应返回警告,并且如果将更多税码添加到总和中,则添加所有代码的列表会很好,但如果这太多了也没关系麻烦!)。

我是 SQL 新手,无法解决这个问题,感谢您给我的每一个帮助,谢谢!

0 投票
1 回答
277 浏览

sql - 如何在 Postgres 的分区表中搜索?

分区已创建,没有错误。很好。

但问题是,当我执行这个查询时

它搜索每个分区。解释分析:

为什么?也许缺少一些索引?

在这个网站上,https://postgrespro.ru/docs/postgresql/12/ddl-partitioning#DDL-PARTITION-PRUNING,我做的完全一样

这是来自网站:SET enable_partition_pruning = on;

版本:x86_64-pc-linux-gnu 上的 PostgreSQL 12.0 (Debian 12.0-2.pgdg100+1),由 gcc (Debian 8.3.0-6) 8.3.0 编译,64 位

0 投票
1 回答
688 浏览

postgresql - 气流调度程序无法启动任务

我的问题:

气流调度程序未分配任务。

背景:

我使用 sqlitedb 在本地机器上成功运行了 Airflow。示例 dag 以及我的自定义 DAG 运行没有任何问题。当我尝试从 sqlite 数据库迁移到 Postgres(使用指南)时,调度程序似乎不再分配任务。DAG 卡在“运行”状态,但没有任何 DAG 中的任务被分配状态。

我已采取的故障排除步骤

  • Web 服务器和调度程序正在运行
  • DAG 设置为“开”。
  • 运行气流 initdb 后,公共模式将填充所有气流表。
  • 我的连接字符串中的用户拥有数据库以及公共模式中的每个表。

调度程序日志

调度程序日志不断发布此警告,但我无法使用它来找到除此其他帖子之外的任何有用信息没有回复。

环境

  • PostgreSQL 版本 12.1
  • 气流 v1.10.9
  • 这一切都在 conda 虚拟环境中的 MacBook Pro (Catalina) 上运行。
0 投票
1 回答
86 浏览

sql - 根据与另一个表的几何相交将列数据添加到表中 - PostgreSQL

我的城市已经使用 PostGIS 定义了一些 城市振兴边界 我已经将城市 街区内的边界建筑物内的边界分隔开来。我现在要做的是用两个新列更新建筑物表,将它们与它们所在的块相关联。

以下是 Blocks 表的示例,两列 qd_setor 和 qd_fiscal 是我需要传递给 Buildings 表的信息

这是 Buildings 表的示例:

这是我用来创建块和建筑物表的查询:

这是预期的结果,所以一旦完成,我就不必测试所需块和建筑物之间的交叉点,我可以通过 qd_setor 和 qd_fiscal 进行过滤:

请注意 qd_setor 和 qd_fiscal 将重复多次,因为一个块中有多个建筑物。

谢谢您的帮助!