我刚刚安装了Postgressql(9.5.4 vc14_0)和Psycopg2(2.7.5 py36h74b6da3_0),并且试图在Windows 10的Anaconda环境中使用它们。
每当我在python解释器中运行psycopg2.connect("host=localhost user=postgres")
或仅在命令行上运行psql
时,都会出现此错误:
无法连接到服务器:连接被拒绝(0x0000274D / 10061)服务器是否在主机“本地主机”(127.0.0.1)上运行并接受端口5432上的TCP / IP连接?
I've looked at other Stackoverflow questions regarding this,尽管我找不到任何答案,但有些回答说要查找pg_hba.conf文件。在Windows的Anaconda环境中,哪里可以找到Postgresql的pg_hba.conf文件?如果我必须制造一个,应该装什么?我还没有看到另一个SO问题,该问题使用与我使用的相同的Postgresql-Anaconda-Windows安装程序。
我也研究了services.msc,但没有看到有关postgresql的服务。
答案 0 :(得分:0)
我也遇到了这个错误。与您所做的类似,我跟随安装页面,运行conda install -c anaconda postgresql
,并在您的帖子中收到相同的错误。
在osx中,我曾经通过直接安装使用过postgresql,据我所知,安装完成后,您可以psql
进入数据库。
也许anaconda安装不是这种情况。我通过在一个新的空文件夹中初始化一个新的数据库系统来解决这个问题。就我而言,我在“ \ AppData \ Local \ conda \”中创建了一个新文件夹
-- Initialize the database system
pg_ctl init -D <path_to_your_database_system>
-- Start the database
C:/Users/kerwei/AppData/Local/Continuum/anaconda3/envs/py36/Library/bin/pg_ctl -D <path_to_your_database_system> -l logfile start
注意::玩了一段时间后,我意识到,一旦退出conda环境,数据库实例也会被终止-不能正确关闭。因为我不将它用于生产材料,所以它并没有真正打扰我。但是,可以采取进一步的措施,包括在conda activate
或conda deactivate
期间引导和关闭数据库,以减少繁琐的工作。