整理了一下在启动pg数据库时遇到的一些问题:
在安装好pg数据库后利用命令切换的pg数据库用户后使用psql命令连接数据库时报错:
psql: error: could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432
解决方法:
先查看了pg数据库的状态发现是没有启动数据库
尝试利用命令启动pg数据库:
sudo service postgresql restart
这时首先报错
postgres is not in the sudoers file. This incident will be reported.
问题为用户没有权限,查阅资料得到解决方案:
首先切换到root用户,在/etc/sudoers文件里给该用户添加权限:
/etc/sudoers文件默认是只读的,对root来说也是,因此需先添加sudoers文件的写权限,命令是:
即执行操作:chmod u+w /etc/sudoers
编辑sudoers文件即执行:vi /etc/sudoers
找到这行 root ALL=(ALL) ALL,在他下面添加xxx ALL=(ALL) ALL (这里的xxx是你的用户名)
仿照已有内容添加
然后撤销sudoers文件写权限
chmod u-w /etc/sudoers
重新执行启动数据库命令
但是还是报错:
* No PostgreSQL clusters exist; see "man pg_createcluster"
查阅资料得到解决方案:
sudo pg_createcluster "xxx" main --start
利用了psql -V查看了自己安装的数据库的版本号
sudo pg_createcluster 12 main --start
提示
到这里看到绿色的一行字心里已知到问题已解决
在此利用命令重新启动数据库
sudo service postgresql restart
之后利用psql连接数据库即可