PostgreSQL12→13へメジャーアップデートするため、Ver12アンインストール後、Ver13インストールでクラスタ初期化失敗となりインストールできません。
再度同じPostgreSQL12をインストールしてもインストールが失敗します。
今まで、以下を試してきましたが、「クラスタ初期化不可」が発生してインストールできません。 別PCのWindows10 Proでは、Ver12アンインストール後、Ver13インストールが成功して稼働中。
無論、POstgreSQLインストーラは、管理者権限で実行させています。
Windows10 Pro for Workstationでなぜインストールが失敗するのでしょうか。 Windows10/OSへのインストール解決方法はありますか?。
【環境】
OS=Windows10 Pro for Warkstation, RAM=192GB
PostgreSQLインストール=Cドライブ(NTFSフォーマット, 1.72TB)、配置data directory=Dドライブ(ReFSフォーマット, 309TB)
(1) PostgreSQL12削除後、PostgreSQL13インストール
⇒結果=NG:"Problem running post-install step. Installation may not complete correctly. The database cluster initualisation failed."でインストール失敗。
操作概要:PostgreSQL12削除後、PostgreSQL12の再インストールでデータベースクラスタ初期化失敗する。 データディレクトリのフォルダは空。
(2) PostgreSQL12の再インストール
⇒結果=NG:"Failed to load SQL modules into the database cluster."でインストール失敗。
操作概要:インストールが失敗したPostgreSQL13削除後、運用していたPostgreSQL12の再インストールでクラスタにSQLモジュールのロードが失敗する。 この状態で、CREATE USER, ALTER USERコマンド実行すると、サービスが起動していないためパースエラーとなる。 データディレクトリのフォルダは空。 ユーザアカウントの管理者権限は問題なし(変更していない)。
(3) PostgreSQL13インストール時、データディレクトリをインストーラのDefault先にインストール
⇒結果=NG::"Problem running post-install step. Installation may not complete correctly. The database cluster initualisation failed."
操作概要:失敗したインストール先のDataフォルダではなく、initdb実行でDドライブのフォルダを初期化(initdb d:\psqldb13)してみたが、下記エラーが発生。 ブートストラップスクリプトを実行しています ... 2020-12-16 13:12:36.598 JST [19264] LOG: unrecognized win32 error code: 50 2020-12-16 13:12:36.601 JST [19264] LOG: ファイル "pg_wal/xlogtemp.7604" to "pg_wal/000000010000000000000001"へのリンクができませんでした: Invalid argument 2020-12-16 13:12:36.605 JST [19264 FATAL: ファイル "pg_wal/000000010000000000000001"をオープンできませんでした: No such file or directory 子プロセスが終了コード1で終了しました initdb: データディレクトリ"d:/psqldb13"の内容を削除しています
(4) PostgreSQLアンインストール後、不要レジストリ情報を削除
⇒結果=NG
操作概要:PostgreSQLアンインストールして以下レジストリを削除後、新規登録した管理者権限持つユーザアカウントでPOstgreSQLをインストール。 ・HKEY_LOCAL_MACHINE¥SOFTWARE¥PostgreSQL ・HKEY_LOCAL_MACHINE¥SOFTWARE¥PostgreSQL Global Development Group
(5) data directoryを別のNTFSフォーマットドライブに指定してインストール
⇒結果=NG:"Failed to load SQL modules into the database cluster."
操作概要:ReFSフォーマットのデータディレクトリへのアクセス権限を確かめるため、NTFSフォーマットドライブに変更してPostgreSQL13をインストール
(6) runasコマンドで、コマンド・プロンプトから(別の)ユーザーとしてプログラムを起動
⇒結果=NG:「Problem running post-install step. Installation may not complete correctly. The database cluster initialisation failed.」でインストール失敗。
操作概要:以下手順により、runasコマンドを実行する。 1. PostgreSQLをアンインストールし、インストールフォルダーのデータディレクトリ(C:\PostgreSQL)とデータディレクトリ(D:\psqldb13)を削除する 2. postgresという名前の新しいWindowsユーザーを作成し、Administratorsグループに追加する(管理者権限) 3. コンピュータを再起動する 4. コマンドプロンプトを開き、runasコマンドでpostgresコマンドとしてcmd(コマンドプロンプト)を開く runas /env /user:sakuradb1\postgres cmd.exe 5. 新しいコマンドプロンプト・ウィンドウが表示されたら、このウィンドウからPostgreSQL13をインストールする。 C:\Users\postgres\Downloads\postgresql-13.1-1-windows-x64.exe
(7) PostgreSQLアンインストール前に登録しているpostgresユーザ=postgresを削除
⇒ 結果=NG:「Problem running post-install step. Installation may not complete correctly. The database cluster initialisation failed.」
操作概要:以下手順により、postgresユーザを削除する。 1. コマンドプロンプトを管理者権限で起動する 2. コマンドプロンプトからpostgresユーザを削除 net user postgres /delete 3. PostgreSQLアンインストール後、再インストール
(8) 「Revo Uninstaller」 で不要レジストリ情報を削除
⇒結果=NG:「Problem running post-install step. Installation may not complete correctly. The database cluster initialisation failed.」でインストール失敗。
操作概要:以下手順により、レジストリをクリアして再インストールする。 (1) インストールが失敗するPostgreSQLを、「管理者として実行」でインストールする (2) Revo Uninstaller起動後、PostgreSQLを選択して右クリックし、アンインストールを選択 (3) PostgreSQLアンインストール画面が表示されるが、別画面で選択できるスキャンを実行する (4) スキャン画面はそのままに、PostgreSQLアンインストールを実行 (5) (3)でスキャンした画面から削除を実行 (6) 再度POstgreSQLを「管理者として実行」でインストール