我正在尝试在本地计算机上使用pg_dump工具。但是,当我在终端窗口中键入pg_dump database_name
时,我收到的消息表明:
pg_dump: [archiver (db)] connection to database "demo" failed:
could not connect to server: No such file or directory
收到此错误消息后,我进入了 postgressql.conf 文件(postgres的配置文件),并将listen_addresses设置为*
。我的连接字符串显示在下面:
- Connection Settings -
#listen_addresses = '*' # what IP address(es) to listen on;
# comma-separated list of addresses;
# defaults to 'localhost'; use '*' for all
# (change requires restart)
#port = 5432 # (change requires restart)
max_connections = 20 # (change requires restart)
# Note: Increasing max_connections costs ~400 bytes of shared memory per
# connection slot, plus lock space (see max_locks_per_transaction).
#superuser_reserved_connections = 3 # (change requires restart)
#unix_socket_directory = '' # (change requires restart)
#unix_socket_group = '' # (change requires restart)
#unix_socket_permissions = 0777 # begin with 0 to use octal notation
# (change requires restart)
#bonjour = off # advertise server via Bonjour
# (change requires restart)
#bonjour_name = '' # defaults to the computer name
# (change requires restart)
然后我重新启动了我的机器,希望当我在控制台中键入pg_dump
时,会发生不同的事情。但是,即使重启后,我仍然无法连接到服务器错误消息(如上所述)。
为了解决这个问题,我应该尝试下一步采取哪些措施?
提前谢谢
答案 0 :(得分:6)
您使用的是Mac OS X,对吧?
你的PATH错了,它从Apple的psql
PostgreSQL的内置副本找到了pg_dump
,psql
等,而不是你安装的那个分开。
尝试使用-h /tmp
或-h localhost
。如果有效,那就证实了这就是问题所在。要正确修复它,您需要调整PATH
,以便首先存在正确的PostgreSQL二进制文件。
(我非常恼火地看到Apple将OS X中的PostgreSQL与默认系统PATH上的工具捆绑在一起,并与任何用户安装的工具发生冲突)。
您的后续评论确认这是问题所在。您需要从安装的PostgreSQL版本运行pg_dump
。由于您没有说明如何安装PostgreSQL,您的操作系统或其他任何我建议您通过搜索此问题的现有提及。搜索类似的内容:
" OS X" postgresql路径
将提供信息。 this Stack Overflow search也是如此。
或者,您可以明确指定pg_dump
的路径。它取决于你如何安装PostgreSQL,你没有提到。它可以是/usr/local/bin/pg_dump
,/opt/
等。