问题标签 [postgresql-12]

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 投票
2 回答
449 浏览

postgresql - Postgresql 服务器不断更改密码

我有一个 postgres 12。
我已经为用户设置了密码,postgres并且password在一段时间后我的应用程序得到了authentication failed for user "postgres".
然后我使用 psql 登录并使用ALTER USER ...命令更改密码。然后循环重复自己。

我检查了表格pg_user,列上有空值valuntil

0 投票
1 回答
28 浏览

postgresql - 从 pg_constraint 中删除重复的约束使数据库处于损坏状态

我的数据库出现问题,我不小心有 1000 个重复的 fkey 约束。我设法找到它们并直接从 pg_constraint 中删除(我认为这是我搞砸的地方,但现在为时已晚)。

我的数据仍然存在并且我想要的约束但现在数据库喷出“缓存查找因约束失败”。

我在这里有什么选择?

有没有办法修复数据库?我是否只需要以某种方式获取所有数据并恢复新数据库。

0 投票
1 回答
141 浏览

postgresql-12 - 具有快照和同步复制的多主复制

我们正在 Postgres 上使用 EDB Rep Server 设置多主复制设置。我们无法创建发布,因为 Keycloak 应用程序创建的某些表中没有定义主键,并且 Replication Server 要求表具有主键。有没有办法克服这个问题?

将主键添加到第三方 Keycloak 应用程序创建的表中并不容易,不确定后果。

在同一个多主设置中,我们是否可以同时定义同步复制和快照复制但针对不同的表集?我假设快照复制不需要为表定义这个主键。

0 投票
0 回答
1057 浏览

postgresql - 容器上的 PostgreSQL 抛出错误 chmod: /var/lib/postgresql/data: Operation not allowed

我试图在 docker 和我创建的以下文件上运行 Postgres 12。我不明白我在哪里犯了错误,以及 PostgreSQL 文件权限的问题是什么。

Dockerfile:

码头工人-compose.yml

我在终端中运行了以下命令

发生以下错误。

我不知道发生了什么以及为什么我的进程停止了。

0 投票
1 回答
415 浏览

heroku - 在 Rails 和 HerokuCI 中使用 pg_partman

在我的 Rails 6 应用程序中,我正在创建一个我知道会变大的表。所以我使用pg_partman 按月对它进行分区。它托管在 Heroku 上,所以我按照他们的指示进行操作。迁移看起来像这样:

主键有点奇怪,但在本地可以正常工作。Heroku Postgres 有 pg_partman 扩展,所以生产很好。

问题是 HerokuCI。我正在使用推荐的 in-dyno 数据库插件。它没有pg_partman

我宁愿不必为了这一件事将完整的数据库附加到 CI。将 pg_partman 分区硬编码到模式中感觉很奇怪,尽管最好让测试尽可能接近生产。

有替代方法吗?

0 投票
0 回答
70 浏览

postgresql - 用户“postgres”不存在

当我使用 EnterpriseDB 安装 postgreSQL 12 时未创建“postgres”用户,在安装过程中,在开始时有一个步骤,您创建超级用户“postgres”并给他密码,但它不会创建

这并不奇怪,因为我没有用户“postgres”(必须是超级用户)或任何其他用户

postgres 没有用户

我尝试修复它并自己创建用户,但我如何理解手动添加用户并没有改变任何东西

0 投票
1 回答
977 浏览

spring-boot - 使用 Hibernate Spatial 和 PostGIS 进行属性转换

在我的 PostgreSQL 12.2 + PostGIS 2.5.4 中,我有一个名为 Address 的表,其中有一列类型为geography(POINT, 4326).

我正在使用 Hibernate Spatial 并尝试开发一个属性转换器来从我的 SpatialLocation 对象创建预期的 Point 对象。

SpatialLocation 基本上具有坐标信息:

这是我制作的 PointFactory 组件:

这是点转换器:

以下是在地址类上设置属性的方式:

在服务上,地址是这样创建和保存的:

尝试创建新地址时,出现以下错误:

当我不使用转换器直接创建 Point 对象时,它按预期工作。

以下是其他一些相关的项目细节:

0 投票
3 回答
1306 浏览

postgresql - 如何使用 psql 连接到带有 postgresql 版本 12 的数据库?

我想在 psql 中连接到我新创建的名为“test”的数据库,我看到过这样的命令:

这意味着什么?

我试着写:

但出现错误:

我应该怎么办?

0 投票
1 回答
180 浏览

postgresql - Postgres 12 升级后,reltuples 设置为 0

我在 AWS-RDS 上从 Postgres 11.6 升级到 12.2。升级后看到几个问题:

  1. 似乎所有 reltuples 在升级后都设置为 0

  2. 描述对象导致错误:错误:列 c.relhasoids 不存在第 1 行:...riggers、c.relrowsecurity、c.relforcerowsecurity、c.relhasoi ...

0 投票
1 回答
57 浏览

sql - 使用 COPY FROM 从 CSV 导入数据时转换列

使用 PostgreSQL 12,我尝试从 CSV 导入数据,格式如下:

请注意,第二行的“人口”字段有一个n而不是空的。我的目标是导入 CSV,以便“人口”列是 BIGINT,并且“n”被替换为 NULL。我目前的解决方案是:

我当前的解决方案是创建一个临时表,其中“population”为 VARCHAR(255),导入数据,从 SELECT 语句创建一个新表,将“n”替换为 NULL 并将列转换为 BIGINT,然后删除临时表. 但是,这似乎有点低效,因为我正在创建和删除一个中间表。有谁知道这样做的更好方法?