PostgreSql"运行安装后步骤...数据库群集初始化失败"

时间:2014-05-08 06:08:15

标签: postgresql

我是Windows用户 - 在我开始工作之前,我花了几个小时的不间断安装和卸载,前10次左右来看标题中的错误消息。

我把它放在这里作为一个自我回答的问题,以防止其他人在安装时遇到同样的问题,并为那些使用PostgreSql的人提供一些基本的使用方法。

4 个答案:

答案 0 :(得分:3)

您必须手动运行存在的initdb:“ C:\ Software \ PostgreSql \ 12 \ bin”

现在,由于“ postgres”是在安装过程中创建的超级用户,因此请确保您将“ postgres”与用户以及initdb cmd关联。

initdb -D“ D:\ PostgreSql \ 12 \ data” -U postgres

现在,一旦初始化数据库集群,就可以使用PostgreSql \ 12的bin文件夹中存在的pg_ctl实用程序来启动服务器

pg_ctl开始-D“ D:\ PostgreSql \ 12 \ data”

或者您也可以将其注册为Windows服务,并将其设置为自动

pg_ctl寄存器-N PostgreSql-12.3.1 -D“ D:\ PostgreSql \ 12 \ data”

现在,您都可以使用PostgreSQL数据库了。 通过cmd行(psql)或pgAdmin4

使用它

答案 1 :(得分:0)

<强>安装

  • 下载适合您系统的安装文件。

  • 确保安装到默认路径:

C:\Program Files (x86)\PostgreSQL\9.3\是我系统的默认设置。

不安装到默认路径可能会给你带来DLL错误等等。

如果安装完成没有问题,

PostgreSql会创建一个用户postgres的数据库,密码是您在安装过程中输入的值。

  • PostgreSQL\9.3\bin文件夹添加到路径中。

PostgreSql用法

现在使用PostgreSql重要的是:

对于您要使用的任何命令,

登录为用户 postgres

忽略此功能会为您提供常量password authentication failed消息,因为您将尝试以PC的身份登录。

例如

  • 登录psql)

psql -U postgres

  • 创建新数据库)

createdb -U postgres [dbname] [etc...]

  • 在某个数据库中执行sql数据文件(例如data.sql)

psql -U postgres -f data.sql dbname

其他用法

登录psql后(通过psql -U postgres),您可以使用以下命令

  • \l列出可用的数据库

  • \c [dbname]&#39; connect&#39;到数据库

  • \d显示该数据库的描述(连接后)

我希望这会有所帮助。

如果我在使用前几天遇到更多问题,我会添加更多示例。

答案 2 :(得分:0)

在尝试安装PostgreSQL 9.6时,我自己遇到了一些重大问题,尽管有上述答案,但仍无法使它正常工作。对我来说解决的是

在安装程序中

在提示您输入语言环境时,请勿选中“默认语言环境”。相反,请选择“美国英语”之类的内容。由于某些原因,默认设置无效。

在安装程序之后

如果继续进行并检查“默认语言环境”,您仍然可以解决安装错误,而无需重新安装整个安装程序。您需要做的与上述答案类似,但有一些细微变化:

  1. 转到您的postgres / bin目录(默认位置:"C:\Program Files\PostgreSQL\9.6\bin")并执行以下查询:

initdb -D "C:\Program Files\PostgreSQL\9.6\data" -U postgres --locale="English_United States.1252"

如您所见,语言环境不是直观的字符串,例如“ en_US.UTF8”,因此,如果您不知道发生了什么,这会变得很讨厌。无论如何,以上代码应导致出现“成功”消息。

  1. 接下来,执行以下命令:

pg_ctl register -N PostgreSQL -D "C:\Program Files\PostgreSQL\9.6\data"

这将导致一个名为PostgreSQL的Windows服务。

  1. 最后,要启动新创建的服务,请输入:

net start PostgreSQL

就是这样。一切都应该已经启动并运行了。

答案 3 :(得分:0)

我在安装过程中遇到了同样的问题。对我有用的是卸载 Postgres 并以管理员身份运行 .exe 文件。