0

除了我以外的任何人都可以轻松加分。我正在尝试使用 pg_dump。我正在运行 Mac OSx、postgres.app、9.2,并且我想备份我的数据库。我尝试了针对同一问题的其他解决方案,但没有成功。据我所知,postgres.app 正在 5432 上运行。我从一个随机目录和我的数据目录运行下面的命令,但运气不好。

命令尝试:

 $ pg_dump pdbt > pdbt.sql

错误:

pg_dump: [archiver (db)] connection to database "pdbt" failed: could not connect to server: No such file or directory
Is the server running locally and accepting connections on Unix domain socket "/var/pgsql_socket/.s.PGSQL.5432"?
4

1 回答 1

2
  • 可能是 OSX 问题(内置 unix 域套接字的位置错误 // 版本混乱)。psql pdbt -l行得通吗?
  • 也尝试使用 -h dirname 例如pg_dump -h /tmp/ pdbt > pdbt.sql
  • psql -h localhost pdbt -l行得通吗?
  • 然后:pg_dump -h localhost pdbt也可能会起作用。
  • 要找出 pg_dump 共存的多个版本,您可以尝试: find / -name pg_dump -ls,之后您可以使用完整的路径名尝试各种版本(例如/usr/bin/pg_dump -h localhost,或者/usr/local/bin/pg_dump -h localhost找到找到的任何内容)
  • 大概是旧的(错误的)版本是路径中的第一个。

在大多数情况下,某些 OSX 安装过程会留下一些旧的二进制文件(OSX 的一个版本对 unix 域套接字有不同的内置路径)。另外:尝试检查二进制文件的不同版本(路径中的第一个错误)

相关: (psql 而不是 pg_dump,但可能是相同的 OSX 问题) ......

于 2013-09-28T19:10:53.980 回答