Vb.net 如何使用编程代码或psql或其他方法更改pg_hba中的方法(md5/trust)?
我正在Windows上运行PostgreSQL。对于某些机器(超过50个客户),我在Vb.net 如何使用编程代码或psql或其他方法更改pg_hba中的方法(md5/trust)?,vb.net,postgresql,Vb.net,Postgresql,我正在Windows上运行PostgreSQL。对于某些机器(超过50个客户),我在pg_hba.conf中的PostgreSQL身份验证选项中将auth方法设置为md5。现在我想通过vb.net或通过SQL将其更改为trustPostgreSQL在编写时(9.4)不提供任何SQL级别的功能或实用程序命令行工具,以编程方式修改pg_hba.conf 如果所有机器上的所有pg_hba.conf文件都相同,最简单的方法就是复制修改后的文件,并用修改后的文件替换所有机器上的旧副本。这可以通过您使用的任
pg_hba.conf
中的PostgreSQL身份验证选项中将auth方法设置为md5
。现在我想通过vb.net
或通过SQL将其更改为trust
PostgreSQL在编写时(9.4)不提供任何SQL级别的功能或实用程序命令行工具,以编程方式修改pg_hba.conf
如果所有机器上的所有pg_hba.conf
文件都相同,最简单的方法就是复制修改后的文件,并用修改后的文件替换所有机器上的旧副本。这可以通过您使用的任何远程自动化和管理工具来完成,也可以通过一个简单的脚本执行复制新的\u hba.conf%PROGRAMFILES%\PostgreSQL\9.2\data\pg\u hba.conf
。相同的脚本可以通过选择pg_reload_conf()
或pg_ctl reload
重新加载PostgreSQL的配置
如果文件不完全相同,并且您必须保留对每个文件所做的任何现有本地修改,那么就有点麻烦了
您需要以文本文件的形式打开该文件,读取每一行,并按空格(制表符/空格)将其拆分为字段
对于每一行,将原始行写回文件,除非它是要修改的行。对于该行,请写一个替换项。如果在处理文件时找不到要替换的行,请在关闭文件之前在末尾添加新行
在unix操作系统上,有一些实用程序可以实现这一点,如sed
、awk
和perl
在Windows上,您可以使用一些相当简单的VB.net编写自己的等效程序,因为这是一个简单的ish任务,基本上是任何支持文件I/O的编程语言。这可能是您最好的选择。搜索有关如何使用VB.net修改基于文本的配置文件的示例