postgres安装数据库集群初始化失败(Postgresql Version 9.4.4)

postgres installation the database cluster initialization failed ( Postgresql Version 9.4.4 )

我无法安装 Postgresql。我已经尝试了一切:

但没有任何成功。 供参考:我有 windows 8

已解决的问题:

运行 设置为管理员并使用 Windows 7 模式

  • 首先运行设置为管理员。
  • 选择program files里面的安装文件夹(默认)
  • 但是选择了你的数据位置从上面的文件夹到某个地方 else ( c:\postgres data 或其他东西。)

我正在安装 Postgres 版本 9.5(在 windows 7 上并使用 DBEnterprise 安装程序)...对我来说,问题似乎是我选择 "POSIX" 作为区域配置。 .. 但我尝试使用 "C" 区域配置,安装完成没有任何问题...

此外,我 运行 安装程序作为管理员!

只是不要使用 EDB 安装程序。现在有 BigSQL 替代品。

10.3 的可能解决方案。版本:

  1. Download PostgreSQL installation file

  2. 将下载的文件移动到 C:\ 驱动器。
    示例:C:\postgresql-10.3-2-windows-x64.exe

  3. 在C:\ drive

  4. 中创建名为PostgreSQL的目录
  5. 在之前创建的 PostgreSQL 目录中创建名为 10 的目录。
    所以你需要 C:\PostgreSQL.

  6. 运行 C:\postgresql-10.3-2-windows-x64.exe (不要点击 'RUN AS ADMIN',只需双击)

  7. 将安装目录路径更改为C:\PostgreSQL

  8. 将数据目录路径更改为C:\PostgreSQL\data

  9. 完成

希望安装成功。

现在是 2019,我仍然遇到与 Postgres 11 相同的问题。在此之前,我删除了当前的 Postgres 9.6(如果我没记错的话),并尝试安装新的 Postgres 11,并遇到了问题。我尝试了以下这些方法,但其中 none 有效:

  • Run installation as Administrator on every run -> failed
  • Choose the default installation folder that the setup prompted (C:/Program Files/PostgresSQL/11), and the data folder reside at other place -> failed
  • Install it on a place outside C:/ -> still failed

我几乎整天挠头后幸运地找到的唯一方法就是这个 post
我想快速回顾一下解决方案,以防 link 过期

Solution:
- Uninstall PostgreSQL
- CMD: net user postgres /delete
- Control Panel -> User Accounts -> Configure advanced user profile properties -> delete all "Unknown User" instances that seem to be left from postgres
- Run > compmgmt.msc -> Local Users and Groups -> Users -> New User... -> User name: postgres, Password: postgres -> Create
- compmgmt.msc -> Local Users and Groups -> Users -> postgres -> Member of -> Add... -> Administrators -> OK
- copy postgresql-8.4.9-1-windows.exe to C:\
- runas /user:postgres cmd.exe -> cd \ -> postgresql-8.4.9-1-windows.exe -> installed successfully without errors. Checked data folder and confirmed files created successfully. (this mean you must run the installation with the created postgres user)
- compmgmt.msc -> Local Users and Groups -> Users -> postgres -> Member of -> Administrators -> Remove
- compmgmt.msc -> Local Users and Groups -> Users -> postgres -> Member of -> Add... -> Power Users -> OK
- Installed HM2 -> created db successfully
- Restarted computer -> HM2 runs properly (i.e. just to check postgresql service starts automatically)

专业提示: 要深入了解 installation log,请通过在任务栏中搜索“%TEMP%”转到 %TEMP% 文件夹,日志名称将为 bitrock_installer-xxx.log。您想知道发生了什么以便更快地解决问题。

我在尝试安装 postgres 10 时遇到了同样的问题。3.Running 因为管理员没有帮助我。但是当我将安装目录从 Program Files.Instead 中的默认安装目录更改为正确安装时,我在 C 盘中创建了一个新文件夹并将其作为安装目录。

我按照@IsoNecroMad 建议的步骤进行了操作

1) 首先,运行设置为管理员。

2) 选择program files里面的安装文件夹(默认)

3) 但是选择你的数据位置从上面的文件夹到其他地方(c:\postgres 数据或其他东西。)

我试了好几次都失败了,我认为这与安装过程中使用的权限和用户有关。但多亏了 ThangLeQuoc 的专业提示检查安装日志,我找到了原因:

initdb: invalid locale name "NorwegianBokm†l,Norway"

Called Die(Failed to initialise the database cluster with initdb)...

Failed to initialise the database cluster with initdb

所以在安装过程中选择'default locale'后一切顺利。 这是在版本 11.6 os Postgres.

我遇到了同样的错误,但有不同的潜在问题(不是用户权限问题,而是语言环境问题)。 此处描述了此问题的解决方案:

对我来说,这里提到的每一个解决方案每次都失败了。然后在我自己做了一些研发之后,我能够成功地使用 postgresql。下面提到的是遇到此错误时要遵循的步骤“数据库集群初始化失败”

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

现在确保将“postgres”作为用户与 initdb cmd 相关联,因为“postgres”是在安装期间创建的超级用户。

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

现在,一旦数据库集群初始化完成,您就可以使用 PostgreSql

的 bin 文件夹中的 pg_ctl 实用程序启动服务器

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

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

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

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

使用它

解决此问题的另一种方法是更改​​操作系统(机器)的区域(语言)。 例如,如果您选择法语,请从法国学习法语,而不是当地的法语。英语也一样,不是本地英语。有些字符不适用于当地语言。 我认为它会解决您的问题。

现在是 2021 年,我收到了 PostgreSQL 13(和官方 EDB 安装程序)的错误消息:“问题 运行 post-安装步骤。安装可能无法正确完成。数据库集群初始化失败。"

原因是我试图将 PostgreSQL 安装到 U 盘上 使用 FAT32 格式化(我只是想尝试一下,而不是将其用于重要的 数据)。虽然可以将程序存储在 USB 记忆棒 (573 MB) 上, 数据目录必须位于使用 NTFS 格式化的内部磁盘上。 我尝试直接(在 USB 记忆棒上)使用 initdb,但出现无法创建链接的错误消息。这可能解释了为什么数据目录不能使用 FAT32 格式。

我在 Windows 上遇到了与 PostgreSQL 13.4 相同的问题,问题是 post 安装脚本 initcluster.vbs 是在没有最后一个参数的情况下 运行。我从 install-postgresql.log 文件中复制了命令,并尝试在命令 window 中对它进行 运行 并收到以下消息:

Usage: initcluster.vbs <OSUsername> <SuperUsername> <Password> <PasswordDir> <Install dir> <Data dir> <Port> <Locale> <CheckACL>

我查看了我尝试执行的命令 运行,它完全缺少 参数。我重试了添加 true 作为最后一个参数的命令,它 运行 成功了。完成脚本后,我 运行 从 c:\Program Files\PostgreSQL\bin 文件夹中执行以下命令:

pg_ctl register -N PostgreSql-13.4 -D "<my data directory>"

这将其注册为自动启动服务。我转到 Windows 服务应用程序并启动了它。之后我就可以使用 pgAdmin 4 进行连接了。

运行 WSL 上的 PostgreSQL(Windows Linux 的子系统)并在 Windows.

上连接到它

以管理员身份打开 Windows Terminal/PowerShell(右键单击 Windows 11 上的开始图标 -> Windows 终端(管理员)。键入:

wsl --install

重新启动计算机。登录后 Ubuntu 将自动安装,WSL2 和 Ubuntu 是 Windows 上的标准配置 11. 按照说明输入您想要的用户名和密码。

更新Ubuntu:

sudo apt update && sudo apt upgrade

安装 PostgreSQL:

sudo apt install postgresql

给 'postgres' 用户一个密码:

sudo passwd postgres

启动服务并打开psql shell:

sudo service postgresql start && sudo -u postgres psql

注意你创建的密码不是 postgres 的数据库密码,所以除非你创建一个新用户,否则你可以在 psql shell:

中给 postgres 一个
ALTER USER postgres PASSWORD 'mypw';

现在您可以安装 pgAdmin 或使用您自己的程序(在 'normal' Windows 中)以确认您可以在 127.0.0.1 上使用端口 5432(可能不同)与用户 postgres 和他的密码。

!!! 你不需要安装在任何特殊的地方

如果遇到此问题,请尝试: 1,除了根文件夹之外,没有设置数据文件夹,虽然它是默认的 2、检查你的杀毒软件,比如360