问题标签 [postgresql-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 - 丢失 PostgreSQL 9.6 密码
我丢失了 PostgreSQL 的密码。我已经尝试过用谷歌搜索一下,但是
local all all trust
解决方案对我不起作用。有谁知道如何以另一种方式恢复/重置此密码?谢谢!
编辑
这是我收到的错误:
我确实尝试过这里发布的解决方案我忘记了在 postgres 安装期间输入的密码
postgresql - postgresql 9.6 中的 CPU 峰值很高
我们将 postgresql 从 9.3 升级到 9.6,我们发现升级后 postgresql 总共消耗了 75% 的 CPU。我们有基于 Web 的应用程序(JBOSS),它将与 postgresql 9.6 通信我们有性能测量脚本,它将调用 rest API 并运行 1 小时并收集整体 CPU 利用率。
使用以下配置,1 小时后的总体 CPU 利用率约为 75%。
postgresql.conf:
max_worker_processes=16
max_parallel_workers_per_gather=8
force_parallel_mode=on
shared_buffers=3GB
维护工作内存=1GB
backend_flush_after=1MB
bgwriter_flush_after=1MB
bgwriter_delay=10ms
min_wal_size = 1GB
max_wal_size = 2GB
同步提交=关闭
有效 io_concurrency = 100
max_prepared_transactions=1000
硬件配置
CPU = 8 核
内存 = 16GB
postgresql 数据目录驻留在 NFS 中。
这些性能峰值在 postgresql 9.3 中没有遇到(总体 CPU 消耗约为 50%)
有人可以帮忙吗?
node.js - uuid 可能是 postgres 中的空字符串
在这里,我创建了一个空表和一个函数:
我在nodejs中通过pg模块调用这个函数,版本是6.1.2。
首先,表ebook_info_t
是空的。我调用函数add_ebook_f
然后接收bookid=3d6171d3-3d45-4869-8e89-b8975a31246b, title=thebookname
。
其次,我删除WHERE-condition
. 然后我再次调用它。我收到bookid=bac22a64-9cb2-440a-be39-b40d74c2ddfb, title=<NULL>
。
最后,我在 pgAdmin4 中测试了这个功能。我显示ERROR: bookid=<NULL>, title=<NULL>
.
如果这本书不存在,我想将它插入到表格中。但是如果我调用add_ebook_f
nodejs,我无法判断这本书是否存在。
所以我的问题是,如果书籍信息不存在,我该如何将它插入到表中?换句话说,我能知道这本书的存在吗?
postgresql - 慢速嵌套循环左连接,循环中索引扫描 130k 次
我真的很难优化这个查询:
这是输出EXPLAIN (BUFFERS, ANALYZE)
:
表和索引定义:
该表可以有 100m+ 行。目前它确实有大约 20m 行。
表和索引的当前大小:
这些是我所做的唯一更改postgresql.conf
:
我可能忽略了一些事情。
编辑:
对于任何想知道的人。最好的方法是UNION ALL
方法。不幸的是,建议的 Erwin 架构效果不佳。这是EXPLAIN (ANALYZE, BUFFERS)
建议架构的输出:
现在有了UNION ALL
方法和新模式:
database - 运行 Postgresql 9.6 备份的问题 (pg_dump/pg_dumpall)
我在 EnterpriseDB 提供的 Ubuntu 16.04 上安装了 postgreSQL 9.6。我已经连接到本地服务器并使用了几个月。我想我现在应该备份服务器,所以我尝试使用 pg_dump 命令,如下所示:
- cd 到 /opt/PostgreSQL/9.6/bin 的 postgres bin
- 通过运行 pg_dump
sudo pg_dumpall > /sata_ssd2/pgdump/0419.bkp
这给出了一个错误:Error: You must install at least one postgresql-client-<version> package.
我尝试通过安装:sudo apt-get install postgresql-client-9.6
但该软件包似乎不存在。
我还尝试通过 pgAdmin4 运行 pg_dump 和 pg_dumpall。它首先让我填写了 EDB Advanced Server Binary Path 和 PostgreSQL Binary Path 的二进制路径;我输入 opt/PostgreSQL/9.6/bin/
了 pg_dump 可执行文件所在的位置。当我尝试运行备份时,出现错误:'ascii' codec can't decode byte 0xe1 in position 1: ordinal not in range(128)
. 我在其他地方找到了一个答案,建议在 postgresql.conf 中更改 from client_encoding = SQLascii
,client_encoding = utf8
但这没有帮助。
有人对从这里去哪里有任何建议吗?
postgresql - array_agg 在 postgres 9.4 中具有不同的作品,但在 postgres 9.6 中没有
我有一个使用带有 distinct 作为参数的 array_agg 的查询,并且在 postgres 9.6 上不被接受。
我创建了这个示例来说明这个问题:
postgres 9.4
postgres 9.6
为了在 postgres 9.6 上得到这个结果,我需要改变什么?
谢谢。
这就是我检查功能的结果:
现在,由于pozs的评论,我发现了这个问题。我删除了聚合函数的公共定义并且它起作用了。
问题出在我正在处理的数据库上,因为我发现有些人说该示例对他们有用,所以我创建了一个新数据库并运行该示例。然后唯一的变化是聚合函数定义。
postgresql - 在 pg_basebackup 命令 Postgres 中排除文件的选项
克隆备用数据库时,如何防止 pg_basebackup 将 postgresql.conf 和 pg_hba.conf 从 master 复制到 /var/lib/pgsql/9.9/data 目录?
目前我正在使用这个命令
postgresql - postgresql 在一个结果中显示两个子列表
假设非常简单的模式
主表
表子1
表子2
作为输出我想要
使用联合我可以接近但每个列表都有它自己的行
结果
那么有没有办法让它们共享两个行并使用与最长列表一样多的行?
sql - PostgreSQL 中的 YYYY-MM 列类型
我需要一个与一个月和表中的用户关联的值。我想对它执行查询。不知道有没有针对这种需求的列数据类型。如果没有,我应该:
- 创建字符串字段并构建年月连接 (2017-01)
- 创建一个 int 字段并构建年月连接 (201701)
- 创建两列(一年和一个月)
- 在月初创建日期列 (2017-01-01 00:00:00)
- 还有什么?
目标是运行类似(伪 SQL)的查询:
postgresql - 带有citus扩展的Postgresql分片不起作用
我正在使用带有 citus 扩展的 Postgresql 进行分片,并且无法像下面这样对表进行分片。下表有一个主键和 2 个唯一键。我正在尝试使用主键对列进行分片,即pid
。
注意:我不允许更改表结构。这些表是由工具创建的。
这是我的分片查询:
它抛出的错误是:
任何人都可以帮助我对这些表进行分片吗?
@CraigKerstiens 这个问题的补充:
当我们有多个像这样的外键时如何处理分片。
假设 table1 和 table2 已经分片。