ruby - 为什么我不能运行 postgresql 服务器?

标签 ruby macos bash postgresql postgresql-9.1

好的。几天来我一直在努力解决这个问题。我安装、卸载和重新安装 Postgresql 3 次。我完全按照这个论坛中的说明进行操作:https://dba.stackexchange.com/questions/42048/cant-connect-to-the-postgres-server-ls-tmp-s-pgsql-5432-no-such-file-or-dir

我在很多论坛上都找到了这个解决方案,于是尝试运行:

$ mkdir /var/pgsql_socket/
$ sudo mkdir /var/pgsql_socket/
$ ln -s /private/tmp/.s.PGSQL.5432 /var/pgsql_socket/

但这没有用。当我尝试启动服务器时,它仍然说有另一个服务器正在运行,然后每次我尝试创建数据库或键入“psql”时都会失败

然后我尝试运行以下命令以将命令的路径从 OS X 的内置 postgres 版本更改为我的版本,它似乎有效:

$ cd /usr/local/bin
$ rm postgres
$ ln -s /Library/PostgreSQL/9.2/bin/postgres postgres
$ rm psql
$ ln -s /Library/PostgreSQL/9.2/bin/psql psql
$ rm pg_ctl
$ ln -s /Library/PostgreSQL/9.2/bin/pg_ctl pg_ctl

然后我运行以下命令为 postgres 创建一个用户:

$ sudo -u postgres createuser --superuser $Sarah
$ sudo -u postgres createuser --superuser user_sarah
$ sudo -u postgres psql postgres

但它一直说“未知用户 postgres” 然后我尝试安装 Ruby pg gem,但也失败了,说必要的库有问题。

我已经保存了我在终端中尝试做的所有事情的文本文件。让我知道我是否应该发布它。谢谢。

更新: 当我尝试运行它时: $ pg_ctl -D/usr/local/var/postgres -l/usr/local/var/postgres/server.log 开始 我明白了: -bash:/usr/local/bin/pg_ctl: 没有那个文件或目录 这与我看到的关于此问题的许多其他错误不同。

最佳答案

首先,您应该确认没有运行 postmaster:ps -ef | grep 邮政局长。一旦你确认 postmaster 没有运行,你应该查看 postgresql 命令 initd。根据您的服务器安装,它可能会或可能不会安装。在尝试启动 postgres 之前,您需要创建一个数据库。在我看来,您的安装没有将主要的 postgresql 命令安装到/usr/bin,pg_ctl 就是其中之一。

仅供引用:postgres 帐户不是登录帐户,它是在安装 postgresql 时自动创建的,所以如果你安装得很好,它应该在那里。如果 postgres 不在 sudoers 文件中,则不能作为 postgres 执行 sudo。

关于ruby - 为什么我不能运行 postgresql 服务器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19166224/

相关文章:

objective-c - 将 Swift 翻译成 Objective-C 可能吗?

bash - 如何从基因列表中挑选多个fasta序列

java - 每次使用特定参数启动 Java

regex - 将 shell 参数传递给 awk 正则表达式

ruby - Rack 和 Rails Metal(Ruby)有什么区别?

ruby - 使用 RMagick 将 CMYK 图像正确转换为 RGB

macos - 在 Carbon Emacs 中使用 Alt 作为 Meta 键,而不是 Apple Command Key

mysql - 如何在 OSX 中重置 MySQL root 密码?流行的方法行不通

python - BigQuery查询限制上下限

ruby - 递归 self 完善