问题标签 [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.

0 投票
1 回答
1688 浏览

postgresql - 丢失 PostgreSQL 9.6 密码

我丢失了 PostgreSQL 的密码。我已经尝试过用谷歌搜索一下,但是

local all all trust

解决方案对我不起作用。有谁知道如何以另一种方式恢复/重置此密码?谢谢!

编辑

这是我收到的错误:

我确实尝试过这里发布的解决方案我忘记了在 postgres 安装期间输入的密码

0 投票
0 回答
1725 浏览

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%)

有人可以帮忙吗?

0 投票
0 回答
1298 浏览

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_fnodejs,我无法判断这本书是否存在。
所以我的问题是,如果书籍信息不存在,我该如何将它插入到表中?换句话说,我能知道这本书的存在吗?

0 投票
2 回答
13760 浏览

postgresql - 慢速嵌套循环左连接,循环中索引扫描 130k 次

我真的很难优化这个查询:

这是输出EXPLAIN (BUFFERS, ANALYZE)

表和索引定义:

该表可以有 100m+ 行。目前它确实有大约 20m 行。
表和索引的当前大小:

这些是我所做的唯一更改postgresql.conf

我可能忽略了一些事情。

编辑:

对于任何想知道的人。最好的方法是UNION ALL方法。不幸的是,建议的 Erwin 架构效果不佳。这是EXPLAIN (ANALYZE, BUFFERS)建议架构的输出:

现在有了UNION ALL方法和新模式:

0 投票
1 回答
939 浏览

database - 运行 Postgresql 9.6 备份的问题 (pg_dump/pg_dumpall)

我在 EnterpriseDB 提供的 Ubuntu 16.04 上安装了 postgreSQL 9.6。我已经连接到本地服务器并使用了几个月。我想我现在应该备份服务器,所以我尝试使用 pg_dump 命令,如下所示:

  1. cd 到 /opt/PostgreSQL/9.6/bin 的 postgres bin
  2. 通过运行 pg_dumpsudo 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 = SQLasciiclient_encoding = utf8但这没有帮助。

有人对从这里去哪里有任何建议吗?

0 投票
2 回答
4457 浏览

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的评论,我发现了这个问题。我删除了聚合函数的公共定义并且它起作用了。

问题出在我正在处理的数据库上,因为我发现有些人说该示例对他们有用,所以我创建了一个新数据库并运行该示例。然后唯一的变化是聚合函数定义。

0 投票
2 回答
1081 浏览

postgresql - 在 pg_basebackup 命令 Postgres 中排除文件的选项

克隆备用数据库时,如何防止 pg_basebackup 将 postgresql.conf 和 pg_hba.conf 从 master 复制到 /var/lib/pgsql/9.9/data 目录?

目前我正在使用这个命令

0 投票
1 回答
55 浏览

postgresql - postgresql 在一个结果中显示两个子列表

假设非常简单的模式

主表

表子1

表子2

作为输出我想要

使用联合我可以接近但每个列表都有它自己的行

结果

那么有没有办法让它们共享两个行并使用与最长列表一样多的行?

0 投票
2 回答
9789 浏览

sql - PostgreSQL 中的 YYYY-MM 列类型

我需要一个与一个月和表中的用户关联的值。我想对它执行查询。不知道有没有针对这种需求的列数据类型。如果没有,我应该:

  • 创建字符串字段并构建年月连接 (2017-01)
  • 创建一个 int 字段并构建年月连接 (201701)
  • 创建两列(一年和一个月)
  • 在月初创建日期列 (2017-01-01 00:00:00)
  • 还有什么?

目标是运行类似(伪 SQL)的查询:

0 投票
1 回答
819 浏览

postgresql - 带有citus扩展的Postgresql分片不起作用

我正在使用带有 citus 扩展的 Postgresql 进行分片,并且无法像下面这样对表进行分片。下表有一个主键和 2 个唯一键。我正在尝试使用主键对列进行分片,即pid注意:我不允许更改表结构。这些表是由工具创建的。

这是我的分片查询:

它抛出的错误是:

任何人都可以帮助我对这些表进行分片吗?

@CraigKerstiens 这个问题的补充:

当我们有多个像这样的外键时如何处理分片。

假设 table1 和 table2 已经分片。