osx – PostgreSQL Mountain Lion插座问题
我一直在尝试在我的系统上安装PostgreSQL(OSX 10.8,干净安装),但是我遇到麻烦,使用psql,createdb等。我已经尝试过各种解决方案,而且似乎没有任何工作。
安装成功,我继续使用以下内容修复已知的套接字问题: mkdir /var/pgsql_socket sudo chown $USER /var/pgsql_socket 然后我编辑了postgresql.conf,将unix_socket_directory设置为 unix_socket_directory = '/var/pgsql_socket' 并重新启动Pg。 这应该显然已经修复了socket问题,但我还是得到: psql: could not connect to server: No such file or directory Is the server running locally and accepting connections on Unix domain socket "/tmp/.s.PGSQL.5432"? 此外,我已经检查了服务器的状态,它似乎正在运行,但我仍然得到’没有这样的文件或目录’ 有任何想法吗?
根据错误消息,$ PATH中首先显示的psql命令具有/ tmp作为硬编码的默认unix套接字目录。
由于实际的目录实际上是/ var / pgsql_socket,你应该明确地告诉它,而不是依赖于默认值: $ psql -h /var/pgsql_socket [other options] 同样适用于其他客户端命令,如createdb,dropdb,createuser … 如果不想每次指定-h,都可以将其放入PGHOST环境变量中。 有些人也通过使用TCP连接到本地主机来解决这个问题,而不是使用Unix套接字目录。 这个问题的根本原因是,在Mac OS X上安装PostgreSQL之后,系统最终会有两个不同的postgres客户端实例(libpq库,psql和其他相关的实用程序),一个与MacOS捆绑在一起的PostgreSQL安装程序附带的其他功能。 因此,另一种方法是更改??$ PATH,以便使用PostgreSQL安装的psql在系统安装之前选择(大概是/ usr / bin / psql)。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- batch-file – 如何从具有依赖关系的一个批处理文件启动多个
- 在PostgreSQL中将多对多关系转换为一对多关系
- c# – 是否可以使用Obsolete属性标记.net函数
- swift3 – 错误:无法在属性初始值设定项中使用实例成员 –
- Flex 获取当前时间和获取当前时间减去一天的时间并且格式化
- c# – Application.Restart()是否为应用程序创建新进程或没
- 在Swift中模拟第三方类(Firebase)
- objective-c – 如何在XCode 4中使用NSDocumentController的
- c# – 是否可以保证使用任务工厂创建的任务不会在WPF的UI线
- ajax 重定向跨域问题