sql - 可以创建扩展但不能在 PostgreSQL 中更改

标签 sql postgresql rdbms postgresql-extensions

扩展由用户 deploy 创建:

CREATE EXTENSION ltree;

现在我需要将扩展​​移动到另一个模式(仍然作为 deploy 用户,模式 utils 也由 deploy 用户拥有)。所以我这样做:

ALTER EXTENSION ltree SET SCHEMA utils;

失败:

错误:必须是扩展 ltree 的所有者

所以 2 个问题:

  1. 为什么 PG 允许为 deploy 用户创建扩展,但不允许同一用户更改它?
  2. 如何更改仍然是 deploy 用户的扩展架构?

谢谢。

最佳答案

扩展必须是可重定位的才能移动到另一个模式。

最简单的解决方案可能是从您的架构中删除扩展,然后在新架构中创建它。

关于sql - 可以创建扩展但不能在 PostgreSQL 中更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22521889/

相关文章:

php - SQL查询失败

sql - 如何在没有记录的情况下有选择地加入另一个表中具有不同日期范围的日历表以获取计数?

python - 如果celery broker未运行,则Django测试会随机卡住

mysql - 复制 MySQL/MariaDB BLOB 列时会复制哪些数据?

mysql - COUNT 正在计算 LEFT JOIN 上不存在的内容。为什么?

sql - 在 Oracle 中使用 SQL 查找带有意外字符的电话号码?

Mysql - UPDATE JOIN 为每个条目设置一个未知值 "2147483647"

postgresql - 在 hstore 列上选择不起作用 (PostgreSQL)

rdbms - SQL中同义词的优点?

mysql - 优化此 SQL 查询?