Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net 如何使用编程代码或psql或其他方法更改pg_hba中的方法(md5/trust)?_Vb.net_Postgresql - Fatal编程技术网

Vb.net 如何使用编程代码或psql或其他方法更改pg_hba中的方法(md5/trust)?

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文件都相同,最简单的方法就是复制修改后的文件,并用修改后的文件替换所有机器上的旧副本。这可以通过您使用的任

我正在Windows上运行PostgreSQL。对于某些机器(超过50个客户),我在
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修改基于文本的配置文件的示例