问题标签 [postgresql-13]

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 投票
4 回答
1329 浏览

postgresql - PostgreSQL COPY 管道输出到 gzip 然后到 STDOUT

以下命令运行良好

但是,以下不是:

为什么我有COPY 3这个命令的输出?我希望输出将是压缩的 CSV 字符串,通过gzip.

下面的命令有效,例如:

如何制作一个直接将结果通过管道传输到gzip并将压缩字符串发送到的 SQL 命令STDOUT

0 投票
1 回答
918 浏览

postgresql - psql:/usr/pgsql-11/lib/libpq.so.5:没有可用的版本信息

使用 Fedora33 rn,尝试安装 Postgresql,成功初始化第一个数据库,没有任何错误。还安装了 pgadmin4 但无法创建服务器。

尝试了这个命令并得到:`

尝试按照提到的重新安装和pg_ctl: error while loading shared libraries: libpq.so.5但也没有工作。

0 投票
1 回答
48 浏览

sql - 在 postgres 查询中对表“t1”的 FROM 子句条目的引用无效

我正在尝试执行这样的查询...

&我收到这样的错误...

该错误消息完全有道理,但我只想知道是否可以将 't1' 的值与保持相同结构的 't2' 匹配?

0 投票
1 回答
51 浏览

database - 在 postgresql 中从不同来源导入批量 JSON 数据的最有效方法?

我需要从数千个 URL 导入数据,以下是数据示例:

[{"date":"20201006T120000Z","uri":"secret","val":"1765.756"},{"date":"20201006T120500Z","uri":"secret","val":"2015.09258 "},{"date":"20201006T121000Z","uri":"secret","val":"2283.0885"}]

由于 COPY 不支持 JSON 格式,我一直使用它从一些 URL 导入数据:

但它效率低下,因为它为每个导入创建一个表,并且一次导入一个 url。我想知道是否可以(通过工具、脚本或命令)读取包含所有 URL 的文件并将其数据复制到数据库中。

0 投票
1 回答
25 浏览

windows - Postgresql 13 64 位和 SSL

我一直使用带有 SSL 的 10 版 32 位 Postgresql,今天我在新的 Windows 服务器上安装了 13 版 64 位,如果 ssl 处于活动状态,该服务将不再启动。我像往常一样复制了 DATA 文件夹中的证书文件 server.crt 和 server.key 并像往常一样设置了 postgresql.conf 文件,但是服务没有启动,我在日志中没有任何用处. 如果我不激活 SSL,一切都很好。这是配置的 ssl 部分:

0 投票
0 回答
99 浏览

ssl - 无法建立到 PostgreSQL 的 SSL 连接

我尝试按照指南进行操作,但无法连接到服务器。我在下面列出了我的服务器/计算机信息。但是,出于安全原因,我没有包含我的真实域名或用户名。理想情况下,我想通过 ssl 进行连接,而无需在客户端存储密钥。

远程服务器

操作系统:CentOS 7
PostgreSQL 版本:13
配置:

  • certbot --apache -d domain.com -d www.domain.com
  • cd /var/lib/pgsql/13/data
  • vi postgresql.conf
    • 我取消注释和/或更新了以下几行:
  • vi pg_hba.conf
    • 我添加了以下行:
  • cd /etc/letsencrypt/renewal-hooks/deploy
  • vi postgresql.deploy
    • 我添加了以下几行:
  • chmod +x postgresql.deploy
  • sh postgresql.deploy
  • systemctl restart postgresql-13

工作电脑

操作系统:Windows 7 64 位
PostgreSQL 版本:13
配置:

  • 我从该站点下载了 PostgreSQL 13 二进制 Win x86-64 文件并将其解压缩到本地文件夹中。
  • 我打开命令提示符并输入以下内容:
    • cd C:\Users\username\PostgreSQL\pgsql\bin
    • psql -d postgres -h domain.com -U username
      • 输入此命令后,光标移动到下一行的开头,但没有任何反应。我等了很长时间,但屏幕上没有显示其他消息。

故障排除

  • 服务器
    • 我注释掉了postgresql.conf文件中的所有 ssl 选项。
    • 我在文件中更改hostssl为。hostpg_hba.conf
    • systemctl restart postgresql-13
  • 电脑命令提示符
    • psql -d postgres -h domain.com -U username
      • 这次我被提示输入密码并成功登录。

问题

为了让我通过 ssl 连接,还需要哪些其他步骤?

0 投票
1 回答
185 浏览

postgresql - 将 Postgresql DB 转储从远程服务器复制到本地

我想从远程服务器获取数据库转储,然后将此转储复制到我的本地。我尝试了几个命令,但没有奏效。

最后我尝试了下面的命令;

我成功地获取了数据库并尝试从 Pgadmin 恢复,它给出了;

但是此时我不能使用 psql,我必须使用 Pgadmin 并且不确定我是否能够成功地将数据库转储到我的本地。我的意思是我无法通过还原进行验证。

如何将数据库转储从远程服务器转移到本地?

谢谢!

0 投票
0 回答
50 浏览

go - 在gorm中重命名Many2Many关系上的列

我有两个模型使用 GORM 和 Postgres 13 绑定到同一个表,一个显示用于管理员的额外属性(并创建表结构),另一个模型用于在 GraphQL 中公开简化版本。使用 GORM 建立多对多关系。它们共享相同的表products和关系表product_countries

我添加了这段代码,以便它们使用同一个表,到目前为止,所有 CRUD 操作都可以完美运行。

但是当我想要 .Preload("Countries") 时,我收到以下错误,这是有道理的,因为 gorm 自己将表重命名为products_admin

ERROR: column product_countries.product_admin_id does not exist (SQLSTATE 42703)

有没有办法覆盖这个重命名或用某种标签指定它?我需要它成为product_id

0 投票
0 回答
201 浏览

postgresql - Postgres 拒绝创建数据库 - 为什么?

我正在尝试使用以下命令在 PostgreSQL 中创建一个数据库:

该命令没有错误。但是当我列出数据库时,新数据库不存在:

如果我尝试更改为该新数据库,它会告诉我它不存在:

CREATE DATABASE我也用命令试过这个。我得到了同样的结果:

在 PGAdmin4 中执行相同的命令,我确实得到了一个错误:

我在 PostgreSQL 13。为什么 Postgres 拒绝创建这个数据库?

0 投票
2 回答
349 浏览

postgresql - PostgreSQL 13 - 改进大表数据聚合

我有一个巨大的数据库(当前大小约为 900GB,新数据仍然存在)Year_monthcurrency. 问题是当我尝试从整个分区中获取聚合时它会变慢。这是一份报告,因此会经常被查询。我要聚合的当前分区大小:7.829.230 行。每个子分区都是相似的。表架构(匿名):

聚合整个分区的示例查询(并非使用所有字段)(此查询可能有更多 WHERE 条件,但这是最坏的情况)

解释:

服务器规格:

  • AMD 64 线程
  • 315GB 内存
  • 6xSSD RAID 10 Postgres 配置:

[2021-04-27 更新]

我已经更新了服务器配置:

对于整个查询,我有一个关于生产数据的示例(更长 - 所有表字段的聚合)不能更快地工作并且不使用并行(大选择语句?)。但是当我减少 SELECT 上的聚合数量时,它开始使用并行并提高了战利品性能。但是当我将查询恢复为原始查询时,它不使用并行。