问题标签 [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.
postgresql - Postgres - autovacuum 不会结束 - 我应该运行手动真空吗?
我有一个每分钟有 80K 写入的表。我做了一个改变来减少这个表的负载(现在它是每分钟 40K 写入)。
目前我可以看到有一个已经运行了 3 天以上的 autovacuum(!)和我的表(autovacuum: VACUUM ANALYZE table(以防止环绕)
我应该手动运行“真空表”吗?只要我不停止写入,它就会结束吗?
我应该终止这个“autovacuum”过程吗?
任何建议将不胜感激!
postgres-9.6 - 防止在特定表 postgres 9.6 上进行 autovacuum
我尝试执行查询 ALTER TABLE [table] SET (autovacuum_enabled = false, toast.autovacuum_enabled = false);
autovacuum 仍在我要为其禁用 autovacuum 的表上运行。
有什么建议么 ?
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] 日志:数据库系统已关闭
postgresql - 在 RDS PostgreSQL 9.6 中将创建表权限限制为新创建的用户
在 RDS PostgreSQL 9.6 中创建只读用户时遇到问题。我正在执行以下 SQL 命令:
当我以readonly_dev
用户身份登录时,默认情况下它有权创建新表,但我不想这样做。我只想保留readonly_dev
一个只读用户。
注意:要撤销我正在执行的用户的访问权限
这也撤销了所有旧用户的创建对象权限。我只想撤销新创建用户的创建权限。
我怎样才能做到这一点?
arrays - 在 Postgres jsonb 列中查询数组对象
我有一个包含 2 列“节点”和“时间戳”的 Postgres 表。“节点”列的类型为 jsonb & 是以下格式的对象数组:
我想在这个数组中找到"primary":true
最近一行的对象。如果上面是最新的行,结果应该是:
我努力了:
这给出了数组中索引 0 处的对象,而不是具有"primary": true
.
如何实现查询?
postgresql - 如何确定 postgres 9.6.11 上的下一个 LSN?
给定任意 LSN 和 postgres 配置文件,如何确定下一个 Log Sequence Number 的编号?
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 - 所需的输出
postgresql - 选择列与 inet[] 数组中的任何 IP 地址匹配的行
inet[]
我正在尝试显示在type 列中至少具有一个值的行。
我真的不知道更好,所以似乎最容易使用这样的东西,但它返回的结果{}
我猜是null
根据inet[]
类型,而不是从is not null
查询的角度来看?
因此,尝试深入研究它,我想也许如果我可以尝试匹配inet[]
列中任何有效 IP 地址的存在,那会起作用,但是我遇到了一个错误,我不明白它指的是什么要或如何解决它以达到预期的结果:
也许是说<<
运算符对类型无效,inet[]
或者<<
在尝试inet
从存储为inet[]
类型的值中查询类型时,运算符是无效操作?或者是其他东西?
无论如何,我有点迷路了。也许有更好的方法来做到这一点?
这是表格,以及我正在使用的数据集的示例。
c# - npgsql / PostgreSQL 在 LAN 上的性能非常慢
我正在使用 npgsql 检查 Postgresql Prepared Statements。它在安装 Postgresql 服务器的同一台机器上运行完美。在服务器(同一台机器)上使用简单的 100000 INSERT 随机值语句
它在大约 12.16 秒内插入 10 万条记录。8224 条记录/秒,如果未准备好。它在大约 7.76 秒内插入 10 万条记录。12886 条记录 / 秒如果 Prepared statement 在客户端(同一 LAN 中的另一台机器具有相同的 IP 范围和相同的配置 8Gb RAM)
它在大约 89.36 秒内插入 10 万条记录。1119 条记录/秒,如果未准备好。它在大约 87.95 秒内插入 10 万条记录。1137 条记录/秒。if 准备好的语句。 LAN 上的这种性能是非常不可接受的。请帮忙。
我已经使用https://www.pgconfig.org/#/tuning配置了我的 postgresql 服务器
还禁用了两台计算机上的防病毒+防火墙。
该表已经 UNLOGGED 并且没有任何约束或索引。
Postgresql 版本 9.6.12
postgresql.auto.conf 如下。