我已经对pg_hba.conf进行了一些更改,我希望它们能够起作用。 我发现有几个地方,人们说我可以告诉PostgreSQL重新加载,但有几种不同的技术列出,并没有一个为我工作。
我find的最权威的参考是pg_ctl命令,但是我不确定我的PGDATA文件夹在哪里。 我会继续寻找。
我在Ubuntu 8.10上运行PostgreSQL 8.3。
您可以通过连接到pg来检查PGDATA的位置,并发出命令:
show data_directory;
在Ubuntu上,通常是/var/lib/postgresql/8.3/main/ 。
另外,你可以: /etc/init.d/postgresql-8.3 reload
虽然原来问这个问题的人暗示他运行Ubuntu 8.10的人很多,但使用后来的Ubuntu版本也可能会在这里绊倒。 事实上,这也可能与8.10一起工作。 我不知道,我没有任何8.10安装与尝试..
好的,让我们切入点。 因此,控制服务的酷“新”方式是使用service命令。 所以你可以用下面的命令重新加载configuration:
service postgresql-8.3 reload
自然你需要拥有适当的权利,所以它很可能需要像sudo或su -c root这样的东西预先命令:
sudo service postgresql-8.3 reload
要么
su -c root 'service postgresql-8.3 reload'
PS 在Ubuntu的文档中提到,与这个新的方法有关的东西已经在6.10的版本中完成了,但是如果我已经正确地理解了它的话,直到9.10才会被使用到更广泛的用途。
选项1:从命令行shell中
su - postgres /usr/bin/pg_ctl reload
选项2:使用SQL
SELECT pg_reload_conf();
使用这两个选项不会中断任何活动的查询或与数据库的连接,因此可以毫不费力地应用这些更改。
这将做的伎俩:
kill -HUP $(head -1 $PGDATA/postmaster.pid)
如果您不想重新启动服务器并只发送信号给postgreSQL,只需键入命令:
pg_ctl reload
我终于从这篇文章中find了一种适合我的技术。 该命令是:
sudo invoke-rc.d postgresql-8.3 reload
我仍然赞赏对推荐技术的反馈。
下面应该为你做:
sudo /etc/init.d/postgresql-8.3 reload