最简单的脚本方式来改变PostgreSQL用户身份验证方法

时间:2014-06-09 14:56:11

标签: postgresql

如PostgreSQL wiki(https://wiki.postgresql.org/wiki/Client_Authentication)中所述,我可以编辑pg_hba.conf文件,为用户设置身份验证方法,以便信任"。

有没有办法用任何可编写脚本的命令(可能是ALTER)设置此方法,而不是手动编辑配置文件?

(我使用PostgreSQL-9.3,如果重要的话)

1 个答案:

答案 0 :(得分:1)

取决于你想要做多少坏事,你对系统的控制程度:)

这样的战术怎么样...... 使用fdw读取文件:

CREATE EXTENSION file_fdw;
CREATE SERVER file_fdw_server FOREIGN DATA WRAPPER file_server;
CREATE FOREIGN TABLE pghba (
username text,
pass text,
uid int4,
gid int4,
gecos text,
home text,
shell text
) SERVER file_server
OPTIONS (format 'text', filename current_setting('hba_file'), delimiter E'\t', null '');

使用SQL解析内容(为OP执行练习)并使用

写回文件
COPY () TO current_setting('pghba_file')

语句。

使用以下命令重新加载配置文件:

SELECT pg_reload_conf();

这显然不是一个完整的工作示例,它更像是一个可以让你到达目的地的策略。也就是说,如果你想去那里那么糟糕。