问题标签 [postgres-9.6]

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 回答
556 浏览

postgresql - Postgres - autovacuum 不会结束 - 我应该运行手动真空吗?

我有一个每分钟有 80K 写入的表。我做了一个改变来减少这个表的负载(现在它是每分钟 40K 写入)。

目前我可以看到有一个已经运行了 3 天以上的 autovacuum(!)和我的表(autovacuum: VACUUM ANALYZE table(以防止环绕)

我应该手动运行“真空表”吗?只要我不停止写入,它就会结束吗?

我应该终止这个“autovacuum”过程吗?

任何建议将不胜感激!

0 投票
0 回答
64 浏览

postgres-9.6 - 防止在特定表 postgres 9.6 上进行 autovacuum

我尝试执行查询 ALTER TABLE [table] SET (autovacuum_enabled = false, toast.autovacuum_enabled = false);

autovacuum 仍在我要为其禁用 autovacuum 的表上运行。

有什么建议么 ?

0 投票
1 回答
331 浏览

postgres-9.6 - Postgres 备份恢复问题

 我的目标很简单,只是备份并在其他机器上恢复它,这与运行 cluter 无关。我的步骤。1.在新机器上远程pg_basebackup。2. rm -fr ../../main/ 3. mv backnkup/main/ ../../main/ 4. 启动postgres服务

** 在备份期间不会发生错误。**

但出现错误:

2018-12-13 10:05:12.437 IST [834] 日志:数据库系统在 2018-12-12 23:01:58 IST 2018-12-13 10:05:12.437 IST [834] 日志中关闭以恢复:无效的主要检查点记录 2018-12-13 10:05:12.437 IST [834] LOG:无效的辅助检查点记录 2018-12-13 10:05:12.437 IST [834] PANIC:找不到有效的检查点记录 2018- 12-13 10:05:12.556 IST [833] LOG:启动过程(PID 834)由信号 6 终止:中止 2018-12-13 10:05:12.556 IST [833] LOG:由于启动过程失败而中止启动2018-12-13 10:05:12.557 IST [833] 日志:数据库系统已关闭

0 投票
1 回答
1462 浏览

postgresql - 在 RDS PostgreSQL 9.6 中将创建表权限限制为新创建的用户

在 RDS PostgreSQL 9.6 中创建只读用户时遇到问题。我正在执行以下 SQL 命令:

当我以readonly_dev用户身份登录时,默认情况下它有权创建新表,但我不想这样做。我只想保留readonly_dev一个只读用户。

注意:要撤销我正在执行的用户的访问权限

这也撤销了所有旧用户的创建对象权限。我只想撤销新创建用户的创建权限。

我怎样才能做到这一点?

0 投票
1 回答
44 浏览

arrays - 在 Postgres jsonb 列中查询数组对象

我有一个包含 2 列“节点”和“时间戳”的 Postgres 表。“节点”列的类型为 jsonb & 是以下格式的对象数组:

我想在这个数组中找到"primary":true最近一行的对象。如果上面是最新的行,结果应该是:

我努力了:

这给出了数组中索引 0 处的对象,而不是具有"primary": true.

如何实现查询?

0 投票
2 回答
3238 浏览

postgresql - 如何确定 postgres 9.6.11 上的下一个 LSN?

给定任意 LSN 和 postgres 配置文件,如何确定下一个 Log Sequence Number 的编号?

0 投票
0 回答
89 浏览

postgresql - 如何在给定的日期按分钟分组,在postgresql中的时间范围内生成最大最小值和平均值?

您好我一直在尝试根据一些数据库数据生成报告。我需要计算每天(已完成),所以在这种情况下,假设计算的日期是:(2001-01-02),当前日期是 2001-01-03。所以基本上是当前日期的前一天。

  • 当天 locker_orders 占用的最大计数 + 发生时间(每个地方的储物柜最大负载峰值)
  • 当天 locker_orders 占用的最小计数 + 发生时间(每个地方的储物柜的峰值最小负载)
  • 当天 locker_orders 占用的 AVG 计数(当天的平均负载基于 min max 和每个位置的储物柜数量)
  • 组 PER place_id
  • 当天每分钟组 PER
  • 当天店内所有储物柜的数量(可能会随时间变化)
  • 在没有取货日期的情况下,储物柜仍被占用 - 它可能会移至另一天

我能够执行一个简单的查询,按地点和每分钟创建储物柜订单,但目前我在将其放在当天范围内时遇到问题

这是时间线的表示(手工制作;))

时间线

给定一个包含数据的模式

数据库数据

  • 储物柜
  • LOCKER_ORDERS

OUTPUT DATA - 所需的输出

0 投票
2 回答
985 浏览

sql - 删除 jsonb 列中深度嵌套数组中的元素 - Postgres

我有一个my_table包含一些数据的 jsonb 列的表,例如,在一行中,该列可以包含以下数据:

我需要帮助来查找如何从给定 a和 a的parts数组中删除元素。x_idpart_id

例子

给定x_id=2and part_id=1,我需要将数据更新为:

PS1:这些数据无法标准化,所以这不是一个可能的解决方案。

PS2:我正在运行 PostgreSQL 9.6

PS3:我已经检查了这个问题这个问题,但是与其他问题相比,我的数据结构似乎太复杂了,因此我无法应用给定的答案。

Edit1 : json 数据可能很大,尤其是parts数组,它的元素可以从少到 0 到几千。

0 投票
2 回答
426 浏览

postgresql - 选择列与 inet[] 数组中的任何 IP 地址匹配的行

inet[]我正在尝试显示在type 列中至少具有一个值的行。

我真的不知道更好,所以似乎最容易使用这样的东西,但它返回的结果{}我猜是null根据inet[]类型,而不是从is not null查询的角度来看?

因此,尝试深入研究它,我想也许如果我可以尝试匹配inet[]列中任何有效 IP 地址的存在,那会起作用,但是我遇到了一个错误,我不明白它指的是什么要或如何解决它以达到预期的结果:

也许是说<<运算符对类型无效,inet[]或者<<在尝试inet从存储为inet[]类型的值中查询类型时,运算符是无效操作?或者是其他东西?

无论如何,我有点迷路了。也许有更好的方法来做到这一点?

这是表格,以及我正在使用的数据集的示例。

0 投票
2 回答
669 浏览

c# - npgsql / PostgreSQL 在 LAN 上的性能非常慢

我正在使用 npgsql 检查 Postgresql Prepared Statements。它在安装 Postgresql 服务器的同一台机器上运行完美。在服务器(同一台机器)上使用简单的 100000 INSERT 随机值语句

它在大约 12.16 秒内插入 10 万条记录。8224 条记录/秒,如果未准备好。它在大约 7.76 秒内插入 10 万条记录。12886 条记录 / 秒如果 Prepared statement 与 127.0.0.1/172.16.16.33 相同的机器 在客户端(同一 LAN 中的另一台机器具有相同的 IP 范围和相同的配置 8Gb RAM)

它在大约 89.36 秒内插入 10 万条记录。1119 条记录/秒,如果未准备好。它在大约 87.95 秒内插入 10 万条记录。1137 条记录/秒。if 准备好的语句。 来自另一台 ip 为 172.16.16.35 的机器 LAN 上的这种性能是非常不可接受的。请帮忙。

我已经使用https://www.pgconfig.org/#/tuning配置了我的 postgresql 服务器

还禁用了两台计算机上的防病毒+防火墙。

该表已经 UNLOGGED 并且没有任何约束或索引。

Postgresql 版本 9.6.12

postgresql.auto.conf 如下。