加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

如何篡改 PostgreSQL 系统数据

发布时间:2020-12-13 17:06:49 所属栏目:百科 来源:网络整理
导读:此方法可能带来严重后果,请务必谨慎使用。 这种操作能力的出处来自 initdb,具体请看 initdb.c 源代码。 staticconstchar*backend_options="--single-F-O-csearch_path=pg_catalog-cexit_on_error=true"; 在清楚自己要做什么的前提下,它可能会带来一些福利

此方法可能带来严重后果,请务必谨慎使用。

这种操作能力的出处来自 initdb,具体请看 initdb.c 源代码。

staticconstchar*backend_options="--single-F-O-csearch_path=pg_catalog-cexit_on_error=true";

在清楚自己要做什么的前提下,它可能会带来一些福利,否则恐怕只有老天爷知道会发生什么,请务必谨慎使用。

1、如果我们试图修改 pg_catalog,会收到如下提示

ERROR:permissiondeniedtocreate"pg_catalog.xxx"
DETAIL:Systemcatalogmodificationsarecurrentlydisallowed.

2、进入具有修改数据库系统表的命令行

./postgres--single-F-O-csearch_path=pg_catalog-cexit_on_error=true-D../dataflying

这里search_path=pg_catalog 是操作的目标 namespace(也就是外在表现的 schema 自行查阅文档),这就是文档中的search_path 参数。

exit_on_error=true 遇到错误立即退出

最后一个为数据库名

3、创建 / 修改 / 操作 某个对象

4、退出

如果我们设置了exit_on_error=true,可以随便输入一个出错的命令即可结束。

最安全的办法 Ctrl + D


--------------------------------------------神州飞象(北京)数据科技有限公司我们的力量源自最先进的开源数据库PostgreSQLzongliang.quan@postgresdata.com

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读