gpt4 book ai didi

postgresql - 无法将 hstore 扩展安装到新创建的模式

转载 作者:行者123 更新时间:2023-11-29 11:34:45 26 4
gpt4 key购买 nike

我有一个安装了 postgres 9.5 的 ubuntu 18.04。

我的数据库“mydb”安装了 hstore。当我执行“\dx store”时,我确实有

List of installed extensions
Name | Version | Schema | Description
--------+---------+--------+--------------------------------------------------

hstore | 1.3 | public | data type for storing sets of (key, value) pairs
(1 row)

当我对某个备份文件执行 pg_restore 时,会创建一个也称为“mydb”的新模式,但它不包含“hstore”扩展名。 “\dx”命令的结果是一样的。 hstore 已经在我的 template1 中了。

pg_restore 失败

pg_restore: [archiver (db)] could not execute query: ERROR: type "hstore" does not exist

谁能指出问题出在哪里?

谢谢

最佳答案

备份是否使用相同版本的 postgresql 创建?转储/恢复周期通常假设数据库是预先创建的,但转储应该创建扩展。您能否搜索备份以查看它是否包含为您的模式创建扩展的指令:

     CREATE EXTENSION IF NOT EXISTS hstore WITH SCHEMA public;
  • 您需要使用 pg_restore 命令来输出标准输出,例如

    pg_restore mydump.dump|more

如果您没有使用公共(public)模式,您可能还需要检查您的模式是否在扩展之前创建。

您能否在恢复之前尝试以下操作在您的 mydb 架构中创建 hstore 扩展:

     CREATE EXTENSION IF NOT EXISTS hstore WITH SCHEMA mydb;

或者,hstore 扩展可能没有正确安装。

    # locate hstore|grep postgresql
# dpkg -S /path/to/hstore.so

关于postgresql - 无法将 hstore 扩展安装到新创建的模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56475634/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com