質問をすることでしか得られない、回答やアドバイスがある。

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

新規登録して質問してみよう
ただいま回答率
85.48%
PostgreSQL

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

Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

Q&A

解決済

1回答

5611閲覧

PostgreSQLでCREATE DATABASEをするとクラッシュしてしまう

cometbeet

総合スコア21

PostgreSQL

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

Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

0グッド

0クリップ

投稿2019/04/05 09:14

前提・実現したいこと

現在WSLにPostGreSQLを入れようとしています。
その際色々いじっていたらCREATE DATABASEをするとクラッシュするようになってしまいました。
他に入れてあるubutnu18では起きてないので何か設定が悪いのかと思います。

発生している問題・エラーメッセージ

間違えたPostgresSQLを起動したままpg_hba.confのpeerをmd5に変えたところエラーが起きてPostgreSQLが起動しなくなりました。
その際色々いじっていたのですがうまくいかず結局PostgreSQLをすべてapt remove,apr purgeして入れなおすと起動するようになりました。
しかしそのあと上記の通りCREATE DATABASEをするとエラーが起きクラッシュ?してしまうようになりました。

postgres=# create database XXX; WARNING: 他のサーバプロセスがクラッシュしたため接続を終了しています DETAIL: 他のサーバプロセスが異常終了し共有メモリが破損した可能性がありましたので、 postmasterはこのサーバプロセスに対し、現在のトランザクションをロールバック し終了するよう指示しました。 HINT: この後、データベースに再接続し、コマンドを繰り返さなければなりません。 サーバとの接続が想定外にクローズされました おそらく要求の処理前または処理中にサーバが異常終了 したことを意味しています。 サーバーへの接続が失われました。リセットしています: 失敗。 !>

その後sudo service postgressql startをすると

* Starting PostgreSQL 10 database server * Error: /usr/lib/postgresql/10/bin/pg_ctl /usr/lib/postgresql/10/bin/pg_ctl start -D /var/lib/postgresql/10/main -l /var/log/postgresql/postgresql-10-main.log -s -o -c config_file="/etc/postgresql/10/main/postgresql.conf" exited with status 1: 2019-04-05 18:11:39.746 JST [24551] LOG: IPv4アドレス"127.0.0.1"、ポート5432で待ち受けています 2019-04-05 18:11:39.763 JST [24551] LOG: Unixソケット"/var/run/postgresql/.s.PGSQL.5432"で待ち受けています 2019-04-05 18:11:39.850 JST [24552] LOG: データベースシステムは中断されました: 2019-04-05 17:49:31 JST まで動作していたことは確認できます 2019-04-05 18:11:39.852 JST [24552] PANIC: ダーティーデータを書き出しできませんでした: 関数は実装されていません 2019-04-05 18:11:39.866 JST [24551] LOG: 起動プロセス (PID 24552)はシグナル6で終了しました: Aborted 2019-04-05 18:11:39.866 JST [24551] LOG: 起動プロセスの失敗のため起動を中断しています 2019-04-05 18:11:39.879 JST [24551] LOG: データベースシステムはシャットダウンしました pg_ctl: サーバを起動できませんでした。 ログ出力を確認してください。

ログのほうは

2019-04-05 17:44:31.830 JST [24439] LOG: IPv4アドレス"127.0.0.1"、ポート5432で待ち受けています 2019-04-05 17:44:31.840 JST [24439] LOG: Unixソケット"/var/run/postgresql/.s.PGSQL.5432"で待ち受けています 2019-04-05 17:44:31.913 JST [24440] LOG: データベースシステムは 2019-04-05 17:44:15 JST にシャットダウンしました 2019-04-05 17:44:32.048 JST [24439] LOG: データベースシステムの接続受け付け準備が整いました。 2019-04-05 17:44:32.597 JST [24447] [不明]@[不明] LOG: 開始パケットが不完全です 2019-04-05 17:52:23.995 JST [24441] PANIC: ダーティーデータを書き出しできませんでした: 関数は実装されていません 2019-04-05 17:52:24.035 JST [24439] LOG: チェックポイント処理プロセス (PID 24441)はシグナル6で終了しました: Aborted 2019-04-05 17:52:24.035 JST [24439] LOG: 他の活動中のサーバプロセスを終了しています 2019-04-05 17:52:24.035 JST [24480] postgres@postgres WARNING: 他のサーバプロセスがクラッシュしたため接続を終了しています 2019-04-05 17:52:24.035 JST [24480] postgres@postgres 詳細: 他のサーバプロセスが異常終了し共有メモリが破損した可能性がありましたので、 postmasterはこのサーバプロセスに対し、現在のトランザクションをロールバック し終了するよう指示しました。 2019-04-05 17:52:24.035 JST [24480] postgres@postgres ヒント: この後、データベースに再接続し、コマンドを繰り返さなければなりません。 2019-04-05 17:52:24.035 JST [24444] WARNING: 他のサーバプロセスがクラッシュしたため接続を終了しています 2019-04-05 17:52:24.035 JST [24444] 詳細: 他のサーバプロセスが異常終了し共有メモリが破損した可能性がありましたので、 postmasterはこのサーバプロセスに対し、現在のトランザクションをロールバック し終了するよう指示しました。 2019-04-05 17:52:24.035 JST [24444] ヒント: この後、データベースに再接続し、コマンドを繰り返さなければなりません。 2019-04-05 17:52:24.076 JST [24488] postgres@postgres FATAL: データベースシステムはリカバリモードです 2019-04-05 17:52:24.086 JST [24439] LOG: 全てのサーバプロセスが終了しました: 再初期化しています 2019-04-05 17:52:24.143 JST [24489] LOG: データベースシステムは中断されました: 2019-04-05 17:49:31 JST まで動作していたことは確認できます 2019-04-05 17:52:24.144 JST [24489] PANIC: ダーティーデータを書き出しできませんでした: 関数は実装されていません 2019-04-05 17:52:24.153 JST [24439] LOG: 起動プロセス (PID 24489)はシグナル6で終了しました: Aborted 2019-04-05 17:52:24.153 JST [24439] LOG: 起動プロセスの失敗のため起動を中断しています 2019-04-05 17:52:24.169 JST [24439] LOG: データベースシステムはシャットダウンしました

試したこと

上記に記した通りapt remove,apt puregeは試してみました。
またdataディレクトリを削除してinitdbも行ってみました。
そうすると起動はするのですがCREATE DATABASEでだめになってしまいます。

補足情報(FW/ツールのバージョンなど)

WSL:Ubuntu16.04
OS:Windows10 pro 1809

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

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

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

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

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

guest

回答1

0

自己解決

一応解決したといえば解決したので。

ここここで書かれている通り、どうやらPostgreSQLのfsync機能がうまく機能していないために出ているエラーのようです。
そこでここで書かれているように/etc/postgresql/10/main/postgresql.confにfsync = offを追記して起動すると問題なく起動できました。

ただ、試行錯誤してる際にインストールしたUbuntu16、18のほうではこの問題が起きなかったためインストールした時期、またはWindowsのバージョンによっては解決している可能性があるのかもしれません。

投稿2019/04/08 01:08

編集2019/04/11 23:44
cometbeet

総合スコア21

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問