PostgreSQL 索引中的重复键

2024-01-18

我想将 OwnCloud 数据库移动到新服务器,但恢复期间操作失败。

pg_restore: [archive program (db)] COPY failed for table "oc_storages": ERROR: value of a duplicate key breaks unique constraint "storages_id_index"
DETAIL: The key "(id) = (local :: / var / www / owncloud_data /)" already exists.

事实上,对 oc_sorages 数据库的简单查询表明存在重复项。

ocl=# select  * from oc_storages where id ~* 'owncloud_data';
               id               | numeric_id | available | last_checked 
--------------------------------+------------+-----------+--------------
 local::/var/www/owncloud_data/ |        491 |         1 |             
 local::/var/www/owncloud_data/ |        838 |         1 |             
(2 rows)

但与此同时,postgresql 设法根据 id (storages_id_index) 为该表创建索引。 PostgreSQL 怎么可能接受这个表中的重复项呢?

ocl=# SELECT indexname, indexdef FROM pg_indexes WHERE tablename = 'oc_storages';
     indexname     |                                      indexdef                                       
-------------------+-------------------------------------------------------------------------------------
 oc_storages_pkey  | CREATE UNIQUE INDEX oc_storages_pkey ON public.oc_storages USING btree (numeric_id)
 storages_id_index | CREATE UNIQUE INDEX storages_id_index ON public.oc_storages USING btree (id)
(2 rows)

如何摆脱这种僵局:删除两个值之一?哪个 ?

提前致谢。

Ernest.


对此通常有两种解释:

  • 硬件问题导致数据损坏。然后手动删除冲突的行,导出数据库并将其导入到新创建的集群中,以消除潜在的潜在数据损坏。

  • 您升级了操作系统上的 C 库,并且排序规则发生了更改,从而损坏了索引。然后手动删除冲突的行并REINDEX带有字符串列的索引。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PostgreSQL 索引中的重复键 的相关文章

随机推荐

  • 如何获取 YouTube 直播的实际视频 URL?

    有没有一种方法可以获取像这样的 YouTube 直播的 HLS URLhttps www youtube com embed WVZpCdHq3Qg https www youtube com embed WVZpCdHq3Qg 我尝试过典
  • NumPy 库导入错误:DLL 加载失败:找不到指定的过程

    我正在 Windows 10 上使用 Visual Studio 2017 学习 python 当我尝试将 NumPy 库导入到我的代码中时 出现此错误 我尝试过卸载并重新安装 寻找libiomp5md dll每条指令ImportError
  • Google Cloud Run 上的 numpy 和 pandas 导入速度缓慢

    我正在开发一个 API 并将其部署在 Google Cloud Run 上 有一个导入 pandas 和 numpy 的预启动 python 脚本 当我对导入进行计时时 在 Cloud Run 上 numpy 大约需要 2 秒 pandas
  • 复选框中的 ng-change 被触发多次,因为 ng-click 超过了它

    由于代码比 1000 个单词更好 我创建了一个 plunker 来展示我的问题 http bit ly 1uiR2wy http bit ly 1uiR2wy 给定特定的 DOM 元素 事情是我有一个带有 ng change 的输入复选框
  • 对于这种情况,最好的数据库结构是什么?

    我有一个保存房地产 MLS 多重列表服务 数据的数据库 目前 我有一个表包含所有列表属性 价格 地址 平方英尺等 有几种不同的财产类型 住宅 商业 出租 收入 土地等 每种财产类型共享大部分属性 但也有一些属性是该财产类型所独有的 我的问题
  • 从后台重新启动应用程序后 iAds 加载受到限制(也发生在 iAdSuite 中)

    我正在努力实施NavigationBanner iAdSuite示例到我的项目中 以便我可以共享一个AdBannerView跨多个视图控制器的实例 但我不断收到以下错误 错误域 ADErrorDomain代码 2 操作无法完成 加载受到限制
  • 构建 Eclipse 项目时自动运行 JUnit

    我想在保存 Eclipse 项目时自动运行单元测试 每当我保存文件时 该项目就会自动构建 所以我认为这应该以某种方式实现 我该怎么做 是获取 ant 脚本并更改项目构建以使用带有目标的 ant 脚本的唯一选择build and compil
  • 我可以从 ASP.NET 页面下载由内存流生成的 Excel 文件吗?

    我有一个 ASP NET 页面 用户在其中提供 ID 然后我们从数据库中提取一些数据并将其放入 Excel 电子表格中 我想在内存中创建 Excel 文件 然后允许用户下载该文件 我可以在服务器上创建一个文件 然后删除它 但这似乎没有必要
  • 为什么我会收到 NoClassDefFoundError: java/awt/Desktop?

    我正在尝试打开一个URI使用 Swing 我得到了上述错误 原因是什么以及如何解决 当我在控制台中执行此操作时 一切正常 但当我在 GUI 中执行此操作时 出现此错误 我应该说我使用Weblogic作为服务器 Code private st
  • 基于列将两个 pandas DataFrame 相乘

    如果我有两个 DataFrame 如何将它们按列相乘以生成包含结果的 DataFrame 例如 df1 pd DataFrame np random randint 10 size 5 4 columns A B C D A B C D 0
  • 将 initWithNibName 与故事板结合使用

    下面是将 initWithNibName 与单独的 xib 视图一起使用的示例 TerminalViewController ctrl TerminalViewController alloc initWithNibName Control
  • 将现有项目转换为 Silverlight 4 时出现问题

    我们有一个正在运行的 Silverlight 3 项目 将目标框架更改为 Silverlight 4 后 应用程序将不再启动 它在生成的 InitializeComponent 方法中的以下行中引发异常 System Windows App
  • ExtJS 4 动态更改网格存储

    是否可以在 ExtJS 4 中更改网格存储 例如 我有两个模型 User Ext define User extend Ext data Model hasMany Product Product Ext define Product ex
  • 从 Rails3 项目中卸载 gem 的最佳方法是什么?

    我通过 Gemfile 使用捆绑器安装了所有 gem 我 错误地 认为 如果我从 Gemfile 中删除了一个 gem 并运行 捆绑安装 则删除的 gem 将被卸载 我查看了捆绑程序帮助文件 据我所知 它没有卸载 gem 的方法 我是否只使
  • GNU 屏幕没有响应,似乎被阻止

    GNU 屏幕似乎冻结了 无法输入用户输入 我正在使用 GNU 屏幕 当我按下屏幕时 它变得没有响应 我可以执行所有 GNU 屏幕命令 但无法输入用户输入 我不想关闭这个屏幕 因为我有重要的工作 我不想失去它 In the commands
  • 设置查询以搜索 dojo 数据网格的所有字段

    我有一个包含多个字段的 Dojo DataGrid 我目前正在将查询设置为一次搜索一个字段 如下所示 grid setQuery name Bob ignoreCase true 但是我希望查询能够立即搜索所有字段 例如 假设我有三个标题为
  • 关于 .shuffle、.batch 和 .repeat 的 Tensorflow 数据集问题

    我有一个关于使用 tf Dataset 进行批处理 重复和随机播放的问题 我不清楚如何使用重复和随机播放 我明白那个 batch将决定有多少训练样本将经历随机梯度下降 使用 repeat and shuffle我仍然不清楚 第一个问题 即使
  • Page.IsValid 是如何工作的?

    我有以下代码RequiredFieldValidator The EnableClientScript属性在验证控件中设置为 false 我还在浏览器中禁用了脚本 我没有使用Page IsValid在后面的代码中 不过 当我在文本框中没有任
  • 在 WordPress 中按日期对帖子进行分组

    我需要编写一个 WordPress 查询来完成以下任务 我正在一个每天有 40 50 个帖子的网站上工作 我想显示按日期 分组 的帖子 e g 20 March 2012 post 1 post 2 post 3 19 March 2012
  • PostgreSQL 索引中的重复键

    我想将 OwnCloud 数据库移动到新服务器 但恢复期间操作失败 pg restore archive program db COPY failed for table oc storages ERROR value of a dupli