🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
PostgreSQL

PostgreSQLはオープンソースのオブジェクトリレーショナルデータベース管理システムです。 Oracle Databaseで使われるPL/SQLを参考に実装されたビルトイン言語で、Windows、 Mac、Linux、UNIX、MSなどいくつものプラットフォームに対応しています。

Q&A

1回答

10152閲覧

PostgreSQL12アンインストール後、PostgreSQL13インストールでクラスタ初期化失敗しインストールできない

Yuetsuro

総合スコア5

PostgreSQL

PostgreSQLはオープンソースのオブジェクトリレーショナルデータベース管理システムです。 Oracle Databaseで使われるPL/SQLを参考に実装されたビルトイン言語で、Windows、 Mac、Linux、UNIX、MSなどいくつものプラットフォームに対応しています。

0グッド

0クリップ

投稿2021/01/20 02:31

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を「管理者として実行」でインストール

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2021/01/20 03:04 編集

コマンドやインストーラーの返すメッセージはわかるのですが、そもそもPostgreSQLの吐くログファイル類はチェックしていますか? そして、pg_dumpallでバックアップを取ってアレば、dataディレクトリもまっさらにして新しくpg_restoreするのも手かもしれません。(SQLファイルがあれば、改変してなんでもできるし。)あと、postgresql.conf とか pg_hba.conf も気になるところ。
Yuetsuro

2021/01/22 00:50

ログファイルはチェックしています。しかし、明確な原因を掴めずにいます。 データディレクトリはバックアップを取っていますが、PostgreSQLインストールが完了しなければ始まりません。postgresql.conf とか pg_hba.conf は、データディレクトリが初期化されて初めてファイルが配置されますので、全く関係ありません。
guest

回答1

0

PostgreSQL アンインストール Windows
PostgreSQLをアンインストールするためには、付属のアンインストーラーを使ってアンインストールします。
失敗するとPCを工場出荷状態に戻すことも考えなければならないかも?

投稿2021/01/20 04:38

Orlofsky

総合スコア16417

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Yuetsuro

2021/01/22 00:54 編集

付属のアンインストーラを使う人はあまりいないと考えます。Windowsの「プログラムと機能」からアンインストールと同じことです。 「PCを向上出荷状態に戻す」は、OSのクリーンインストールせよ、ですよね。問題外です。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問