问题标签 [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 投票
1 回答
109 浏览

postgresql - 精确匹配 rtrim 函数中的 trimming_text

如果我在 Postgres 或 Snowflake 中运行以下查询,它将test从输入字符串的末尾删除,即使修剪文本是best

看:

https://www.db-fiddle.com/f/kKYwe5tNLpVoacM2q1nJY7/0

但是,我需要 rtrim 以仅在修剪文本完全匹配时删除。我怎么做?

0 投票
3 回答
6054 浏览

postgresql - postgresql-client-13 :取决于:libpq5 (>= 13~beta2) 但要安装 12.3-1.pgdg18.04+1

我想尝试新的 PostgreSQL 并按照说明进行操作。但安装失败:

我也试过这个指令来解决unmet依赖关系

我做错了什么以及如何安装psql13?

我的UPD
内容sources.list.d

还:

0 投票
1 回答
1086 浏览

arrays - 如何在 PostgreSQL 中的数组上添加外键约束?

如何在 PostgreSQL 中的数组上添加外键约束?

角色查找表

Party 可以有零个或多个角色 [ 0-N 关系 ]

如何在表中添加foreign key约束?party_role_cd arrayparty

0 投票
11 回答
29121 浏览

postgresql - pg Admin 4 - 尝试连接到 PostgreSQL 13 服务器时“postgres”用户的密码

我知道这个问题已经在其他时候被问过了,但我没有找到解决这个问题的方法!

我用 pg Admin 4 下载了 PostgreSQL 13,当我在安装后第一次打开它时,它会询问我在安装过程中被要求设置的主密码,在我提供主密码并被接受后,我尝试连接到安装期间创建的默认服务器:“PostgreSQL 13”。

此时,它要求我输入我不知道在哪里可以找到的用户“postgres”的密码。具体来说,它说:请输入用户“postgres”连接服务器的密码 - “PostgreSQL 13”。

我已经尝试了我在互联网上找到的所有“默认”密码,但错误总是相同的:

致命:用户“postgres”的密码验证失败

我也尝试不插入任何密码,导致错误:

fe_sendauth:未提供密码

我不知道该怎么办。在 PostgreSQL 13 中,身份验证方法通过scram-sha-256. 我已经尝试将方法设置为信任,重新启动 mac,然后打开不断询问我访问服务器的密码的 pg Admin 4。

我也尝试过使用命令行工具,但最终遇到了同样的错误。

最后,这就是我的pg_hba.conf样子:

PS。我还尝试卸载 PostgreSQL 13,删除 postgres 用户并重新下载并重新安装所有内容......没有任何改变。


如果有人可以帮助我将成为我的救星,在此先感谢!

0 投票
11 回答
67404 浏览

java - 由于不支持身份验证类型 10,无法连接到 Postgres DB

我最近尝试了 Postgres。将其安装在本地(PostgreSQL 13.0)上。创建了一个 Maven 项目并使用了 Spring Data JPA,工作得很好。而当我尝试使用 Gradle 项目时,我无法连接到数据库并不断收到以下错误。

org.postgresql.util.PSQLException:不支持身份验证类型 10。检查您是否已将 pg_hba.conf 文件配置为包含客户端的 IP 地址或子网,并且它正在使用驱动程序支持的身份验证方案。在 org.postgresql.core.v3.ConnectionFactoryImpl.doAuthentication(ConnectionFactoryImpl.java:614) ~[postgresql-42.1.4.jar:42.1.4] 在 org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java: 222) ~[postgresql-42.1.4.jar:42.1.4] 在 org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:49) ~[postgresql-42.1.4.jar:42.1.4] 在 org. postgresql.jdbc.PgConnection.(PgConnection.java:194) ~[postgresql-42.1.4.jar:42.1.4] at org.postgresql.Driver.makeConnection(Driver.java:450) ~[postgresql-42.1.4. jar:42.1.4] 在 org.postgresql.Driver。

我也尝试使用 JDBCTemplate。不工作

修改了参考这篇文章的 pg_hba.cfg 文件 - 不起作用

使用了已弃用的库 - 也不起作用。

请建议我解决此问题。

我的代码和配置:

依赖关系

password_encryption设置如下:

0 投票
1 回答
2344 浏览

postgresql - PostgreSQL 与版本 12 和 13 混淆

我对 PostgreSQL 相当陌生,但我对 SQL 有一些了解。我一直在使用带有 MacOS 附带的 postgres 上的表和数据的数据库(我假设),因为当我启动服务器时,访问给定的数据库并SELECT version();在终端上运行我得到以下信息:
PostgreSQL 12.3 on x86_64-apple-darwin19.4.0, compiled by Apple clang version 11.0.3 (clang-1103.0.32.59), 64-bit 但是,我看不到它存在,Library/PostgreSQL因为它不存在。

所以现在我安装了 PostgreSQL 13 以便在上课时使用,并且还安装了 pgAdmin。它应该已经安装在下面,Library/PostgreSQL/13/但它也不存在。不过,我可以通过 pgAdmin 及其所有表访问 12(端口 5432)和 13(端口 5433)的服务器。我可以从 pgAdmin 和终端中的 12 访问表。

我对一切的设置方式有点困惑,我找不到合适的教程来解决它,所以我有几个问题:

  • 我怎样才能摆脱两个版本,只运行一个与我的所有数据库相同的版本?感觉会更有条理。
  • 如何通过终端访问13版本的服务器?
  • 如何卸载版本 12?我尝试运行open uninstall_postgresql.app,但该文件夹不再存在。
  • 如果我通过: psql -U postgres -p 5433: 访问,那psql (12.3, server 13.0) WARNING: psql major version 12, server major version 13.为什么呢?
0 投票
3 回答
111 浏览

database - 在 PostgreSQL 中释放项目标识符后,空间将如何被重用?

最近我开始对 PostgreSQL 空闲空间管理和碎片整理做一些研究。我知道堆上的每个页面都包含一个页眉、页面标识符、可用空间和项目。当插入一个新的元组时,一个新的项目标识符将被插入到空闲空间的开头,新的项目数据将被插入到空闲空间的末尾。

使用后Vacuum,dead tuples 的 item 标识和 item 数据将被移除。如果删除的项目标识符在其他标识符的中间,则标识符之间会有间隙。由于通常新的标识符将被添加到空闲空间的开头,这之间的空闲空间会再次被重用吗?如果是这样,我们怎样才能找到这个空间?

这是此场景的可视化示例:

真空后的页面

删除一些元组后,(0,3) 和 (0,5) 之间有未使用的空间。这个空间将如何再次被重用?谢谢!

0 投票
1 回答
4731 浏览

stored-procedures - 如何在 PostgreSQL 13 中使用 INOUT 参数调用存储过程(不是函数)

我有这个存储过程:

和呼唤:

但是当我调用该存储过程时出现此错误:

错误:“INT”处或附近的语法错误

第 1 行:声明 secuencial INT;

怎么了?我正在寻找示例,但仅存在于函数中。

0 投票
2 回答
87 浏览

sql - 如果我使用 5 个字符的搜索文本,则 Postgresql 不使用索引。使用 6 就可以了。为什么?

我正在使用 Postgresql 13。

通过这个查询,PostgreSQL 正在使用索引:

使用相同的查询,但搜索文本少一个字符(从lushijlushi,不使用索引

为什么?

更新

如果我评论LIMIT 15行,则使用索引。


这里的结构:

球员表结构
0 投票
1 回答
56 浏览

windows - 安装 PostgreSQL 时出错 - 复制压缩文件 NodeIndexOnlyScan.sh

当我尝试安装 postgresql 时,我收到此错误消息:

在此处输入图像描述

我认为安装程序有错误,所以我尝试了 PostgreSQL 12 安装程序,但在不同的位置出现了同样的错误:

在此处输入图像描述

甚至,我下载了一个新的安装程序,但似乎没有任何效果。每次都以管理员身份执行。

当我按跳过时,该过程结束而没有发生任何事件。我正在运行 Windows 10 Pro,版本 2004,comp 19041.572