最后更新:
我忘了运行initdb命令
通过运行此命令
ps auxwww | grep postgres
我看到postgres没有运行
>;ps auxwww | grep postgres
remcat 1789 0.0 0.0 2434892 480 s000 R+11:28 PM 0:00.00 grep postgres
这就提出了一个问题:
如何启动PostgreSQL server
更新:
>;pg_ctl-D/usr/local/var/postgres-l/usr/local/var/postgres/server.log启动
服务器启动
sh:/usr/local/var/postgres/server.log:没有这样的文件或目录
更新2:
触摸未成功,因此我改为:
>;mkdir/usr/local/var/postgres
&燃气轮机;vi/usr/local/var/postgres/server.log
&燃气轮机;ls/usr/local/var/postgres/
server.log
但当我尝试启动Ruby on Rails服务器时,我仍然看到:
服务器是否在主机上运行;“本地主机”;接受
端口5432上的TCP/IP连接
更新3:
>;pg_ctl-D/usr/local/var/postgres状态
pg_ctl:没有服务器在运行
更新4:
我发现那里没有任何文件(只有文件pg_hba.conf.sample),所以我修改了样本并重命名了它(以删除.sample)。内容如下:
IPv4本地连接:
托管所有127.0.0.1/32信任
#IPv6本地连接:
主机所有::1/128信任
但我不明白这一点:
>;pg_ctl-D/usr/local/var/postgres-l/usr/local/var/postgres/server.log启动
服务器启动
&燃气轮机;pg_ctl-D/usr/local/var/postgres状态
pg_ctl:没有服务器在运行
此外:
sudo find/-name postgresql.conf
查找:/dev/fd/3:不是目录
查找:/dev/fd/4:不是目录
更新5:
sudo pg_ctl-D/usr/local/var/postgres-l/usr/local/var/postgres/server.log启动
密码:
pg_ctl:无法作为root用户运行
请以将拥有服务器进程的(非特权)用户身份登录(例如使用“su”)。
更新6:
这似乎很奇怪:
>;egrep'listen | port'/usr/local/var/postgres/postgresql.conf
egrep:/usr/local/var/postgres/postgresql.conf:没有这样的文件或目录
尽管如此,我还是这样做了:
>;sudo find/-name“*postgresql.conf*”;
查找:/dev/fd/3:不是目录
查找:/dev/fd/4:不是目录
/usr/local/ceral/postgresql/9.0.4/share/postgresql/postgresql.conf.sample
/usr/share/postgresql/postgresql.conf.sample
所以我这样做了:
egrep’listen | port’/usr/local/ceral/postgresql/9.0.4/share/postgresql/postgresql.conf.sample
#侦听地址=’localhost’#要侦听的IP地址;
#端口=5432#(更改需要重新启动)
#由操作系统支持:
#%r=远程主机和端口
所以我试了一下:
>;cp/usr/local/ceral/postgresql/9.0.4/share/postgresql/postgresql.conf.sample/usr/local/ceral/postgresql/9.0.4/share/postgresql/postgresql.conf
&燃气轮机;cp/usr/share/postgresql/postgresql.conf.sample/usr/share/postgresql/postgresql.conf
我仍然得到同样的答案;服务器正在运行吗?“;信息
自制软件包管理器包括自动启动的launchctl plists。有关详细信息,请运行brew信息postgres
手动启动
pg_ctl-D/usr/local/var/postgres start
手动停止
pg_ctl-D/usr/local/var/postgres-stop
自动启动
&引用;要立即启动postgresql并在登录时重新启动:
brew服务启动postgresql
pg_ctl-D/usr/local/var/postgres-l/usr/local/var/postgres/server.log start的结果是什么
pg_ctl-D/usr/local/var/postgres状态的结果是什么
server.log中是否有任何错误消息
确保在pg_hba.conf中启用了tcp本地主机连接:
IPv4本地连接:
托管所有127.0.0.1/32信任
检查postgresql.conf中的侦听地址和端口:
egrep'listen | port'/usr/local/var/postgres/postgresql.conf
#侦听地址='localhost'#要侦听的IP地址;
#端口=5432#(更改需要重新启动)
清理
PostgreSQL很可能是通过自制、Fink、MacPorts或EnterpriseDB安装程序安装的
检查以下命令的输出,以确定安装了哪个软件包管理器:
brew&&;brew列表| grep postgres
芬克公司&;fink列表| grep postgres
港岛&;已安装端口| grep postgres