我正在使用4.14.10-2-MANJARO。 我试过安装Postgres数据库。 我使用命令安装了postgresql 10.1-1:
yaourt -S postgresql
然后:
sudo -u postgres -i
initdb --locale $LANG -E UTF8 -D '/var/lib/postgres/data'
createuser --interactive
然后我有这样的事情:
createuser: could not connect to database postgres: could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/run/postgresql/.s.PGSQL.5432"?
我不知道如何解决它。 我一直在使用这个网站:
https://wiki.archlinux.org/index.php/PostgreSQL#Installing_PostgreSQL
然后我想通过命令创建一个新数据库:
createdb myDatabaseName
谢谢。
答案 0 :(得分:0)
使用initdb
创建数据目录后,需要使用
pg_ctl -D /var/lib/postgres/data start
但在此之前,您应该修改/var/lib/postgres/data.postgresql.conf
并设置listen_addresses
,port
,shared_buffers
等参数以及有关日志记录的所有内容。
这样,您可以在启动服务器后查看日志文件,看看是否一切顺利。
答案 1 :(得分:0)
我遇到了同样的问题,我也在运行4.19.1-1-MANJARO
和postgresql 10.5-3
,但是大多数答案是针对Ubuntu的,并且指的是Manjaro上不存在的目录。
您必须运行systemctl来检查服务,看看有什么问题
sudo systemctl status postgresql
它给出了类似的东西
systemd[1]: Starting PostgreSQL database server...
postgres[3902]: "/var/lib/postgres/data" is missing >
postgres[3902]: su - postgres -c "initdb --locale >
,它告诉您运行上面列出的su
命令。但这需要用户postgres
的密码。为了解决这个问题,我们改用sudo
命令。
sudo su - postgres -c "initdb --locale en_US.UTF-8 -D /var/lib/postgres/data'"
此命令完成后,它会告诉您运行pg_ctl -D /var/lib/postgres/data start
,而只是通过systemctl启动它。
sudo systemctl enable postgresql
sudo systemctl start postgresql