我在Windows上运行PostgreSQL。对于某些机器(超过50个客户),我在md5
的PostgreSQL身份验证选项中将auth方法设置为pg_hba.conf
。现在我想通过trust
或通过SQL see this将其更改为vb.net
答案 0 :(得分:0)
PostgreSQL在撰写本文时(9.4)没有提供任何SQL级功能或实用程序命令行工具来以编程方式修改pg_hba.conf
。
如果所有计算机上的所有pg_hba.conf
文件都相同,那么执行所需操作的最简单方法是获取已修改文件的副本,并将所有计算机上的旧副本替换为已修改的文件。这可以使用您使用的任何远程自动化和管理工具,或执行copy new_hba.conf %PROGRAMFILES%\PostgreSQL\9.2\data\pg_hba.conf
的简单脚本来完成。相同的脚本可以通过SELECT pg_reload_conf()
或pg_ctl reload
重新加载PostgreSQL的配置。
如果文件不完全相同,并且您必须保留对每个文件所做的任何现有本地修改,那么它就会有点棘手。
您需要将文件作为文本文件打开,读取每一行,然后按空格(运行标签/空格)将其拆分为字段。
对于每一行,将原始行写回文件,除非它是您要修改的行。对于该行,请改为替换。如果在处理文件时未找到要替换的行,请在关闭文件之前在末尾添加新行。
在unix操作系统上,现有有用的实用程序,例如sed
,awk
和perl
。
在Windows上,你可以用一些相当简单的VB.net编写自己的等价物,因为这是一个简单的任务,基本上是任何支持文件I / O的编程语言。这可能是你最好的选择。例如,使用VB.net搜索如何修改基于文本的配置文件的示例。