PostgreSql“正在运行安装后步骤……数据库集群初始化失败”

dk1*_*123 9 windows postgresql

我是 Windows 用户 - 我花了几个小时不断地安装和卸载才能让它工作,前 10 次左右看到标题中的错误消息。

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

And*_*löw 16

当我尝试安装 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

就是这样。现在一切都应该启动并运行。


小智 9

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

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

initdb -D "D:\PostgreSql\12\data" -U postgres

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

pg_ctl start -D "D:\PostgreSql\12\data"

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

pg_ctl register -N PostgreSql-12.3.1 -D "D:\PostgreSql\12\data"

现在您已准备好使用 postgresql 数据库。通过 cmd 行 (psql) 或 pgAdmin4 使用它


dk1*_*123 2

安装

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

  • 确保安装到默认路径:

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

不安装到默认路径可能会给您带来 dll 错误等问题。

如果安装完成没有问题,

postgresPostgreSql 将使用您在安装过程中输入的用户名和密码创建一个数据库。

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

PostgreSql 用法

现在使用 PostgreSql 重要的是:

登录是作为用户postgres来执行您想要使用的任何命令。

忽略这一点将会不断向您发送password authentication failed消息,因为您将尝试使用您的 PC ID 登录。

例如

  • 登录 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]“连接”到数据库

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

我希望这有帮助。

如果我在最初几天的使用过程中遇到更多问题,我将添加更多示例。