1

我正在尝试在本地机器上使用 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控制台中输入时,会发生一些不同的事情。但是,即使重新启动后,我仍然收到无法连接到服务器的错误消息(如上所述)。

为了解决这个问题,我接下来应该尝试哪些步骤?

先感谢您

4

1 回答 1

6

你在 Mac OS X 上,对吧?

您的 PATH 错误,它是从 Apple 的 PostgreSQL 内置副本中找到psql,等,而不是您单独安装的那个。pg_dumppsql

尝试使用-h /tmp-h localhost。如果可行,则证实这是问题所在。要正确修复它,您需要调整您的PATH,以便首先出现正确的 PostgreSQL 二进制文件。

(我对 Apple 将 OS X 中的 PostgreSQL 与默认系统 PATH 上的工具捆绑并与任何用户安装的工具发生冲突感到非常恼火)。

您的后续评论证实这是问题所在。您需要pg_dump从您安装的 PostgreSQL 版本运行。由于您没有说明如何安装 PostgreSQL、操作系统或其他任何东西,我建议您通过搜索有关此问题的现有提及来做到这一点。搜索类似的东西:

“OS X”postgresql 路径

将提供信息。这个 Stack Overflow 搜索也将如此。

或者,您可以明确给出pg_dump. 它在哪里取决于你如何安装 PostgreSQL,你没有提到。可以是/usr/local/bin/pg_dump,/opt/等。

于 2013-07-06T01:04:19.807 回答