OpenSUSE Tumbleweed下PostgreSQL创建数据库失败求助
PostgreSQL Socket连接失败解决方法(OpenSUSE Tumbleweed)
问题描述
在OpenSUSE Tumbleweed Release 20240320的Python虚拟环境中部署Django时,执行createdb mydatabase创建数据库触发以下错误:
Connection to server on socket "/run/postgresql/.s.PGSQL.5432" failed: No such file or directory.Is the server running locally and accepting connections on that socket?
已完成的排查操作:
- 执行
ps -ef | grep postgres,仅返回postgres用户的bash会话及grep相关进程,无PostgreSQL服务进程 - 检查
/var/run/postgresql/.s.PGSQL.5432文件,提示不存在 - 执行
psql -U postgres触发相同连接错误 - 执行
systemctl status postgresql显示服务处于**inactive (dead)**状态,且未启用开机自启
解决步骤
1. 启动PostgreSQL服务
通过systemctl启动PostgreSQL:
sudo systemctl start postgresql
2. 配置开机自启(推荐)
为避免重启系统后服务中断,设置开机自动启动:
sudo systemctl enable postgresql
3. 验证服务运行状态
再次检查服务状态,确认已正常启动:
systemctl status postgresql
正常运行时会显示Active: active (running)标识。
4. 初始化数据库集群(首次安装需执行)
如果是首次安装PostgreSQL,需先初始化数据库集群:
sudo su - postgres -c "initdb -D /var/lib/pgsql/data"
完成初始化后重启服务:
sudo systemctl restart postgresql
5. 创建目标数据库
服务运行正常后,切换至postgres用户执行创建命令:
sudo su - postgres createdb mydatabase
或直接通过sudo一次性执行:
sudo -u postgres createdb mydatabase
6. 验证数据库连接与存在性
通过psql连接到PostgreSQL,验证数据库是否创建成功:
psql -U postgres
进入交互界面后执行\l命令,可查看所有数据库列表,确认mydatabase已存在。
内容的提问来源于stack exchange,提问作者GrooveInShell
相关产品推荐
相关产品推荐

