首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PostgreSQL服务initdb不工作

PostgreSQL服务initdb不工作
EN

Server Fault用户
提问于 2012-01-15 09:11:34
回答 4查看 34.6K关注 0票数 8

我在我的fedora 16上安装了PostgreSQL 9.1.2,方法类似于前面提到的这里,并对它进行了测试,这意味着我的安装工作正常。

但是,当我这样做:service postgresql initdb,甚至service postgresql-9.0 initdb时,我会得到错误:

代码语言:javascript
复制
Redirecting to /bin/systemctl  initdb postgresql.service
Unknown operation initdb

正因为如此,我也无法启动pgAdmin3。

我遗漏了什么?

EN

回答 4

Server Fault用户

发布于 2012-01-15 10:37:30

在将postgres转换为使用本机systemd单元的系统上,您需要将postgresql-setup用于initdb之类的东西。你想要的是:

代码语言:javascript
复制
postgresql-setup initdb
票数 7
EN

Server Fault用户

发布于 2012-02-15 17:51:23

运行"su - postgres -c .“命令作为根

我在这里找到了答案:https://bugzilla.redhat.com/show_bug.cgi?id=771496

问题描述:初始安装postgresql服务器rpm后,您将得到一个不可启动的服务,直到您以root su - postgres -c "initdb -D /var/lib/pgsql/data“版本运行以下命令--选定组件的发布号(如果适用):根@oscar# rpm -q postgresql-server postgresql- server -9.1.2-1.fc16.x86_64

背景故事

有几个地方指示我对Fedora 16使用这个命令,而不是按照前面的指令(新命令: su - postgres -c "PGDATA=/var/lib/pgsql/data initdb“),但在前面看到'su‘时,我想它会在运行命令时将我切换到根。它一直提示我输入密码,但什么都没有用。

我尝试了根passwd、我自己的(好像sudo‘’ing)、" postgres“和"pgsql”,以防我以postgres用户的身份执行此操作,甚至将密码保留为空白。我试着使用su‘’ing根目录,然后运行命令而不使用初始的'su -‘(以"postgres -c .“开头),但这也出错了,告诉我:

“服务器必须在非特权用户ID下启动,以防止系统安全受损。有关如何正确启动服务器的详细信息,请参阅文档。”

最后,我尝试运行完整的命令"su - postgres -c .“作为根,但仍然使用"su",而哇-它起作用了。现在服务开始了。谢谢红帽虫追踪!

摘要

su到root,然后输入:

su - postgres -c "PGDATA=/var/lib/pgsql/data initdb“

票数 3
EN

Server Fault用户

发布于 2012-01-15 09:26:05

您需要使用以下命令启动postgresql服务:

代码语言:javascript
复制
service postgresql start

只有当您需要初始化数据库服务器的数据目录时,才应该使用initdb工具,并且在安装postgresql服务器时,应该自动使用像centos上的yum或ubuntu上的apt-get这样的包管理器。

您可以使用它,如您提供的链接中所示:

代码语言:javascript
复制
initdb -D /usr/local/pgsql/data
票数 2
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/350045

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档