最近、CentOS 7 サーバーで postgres 9.1 から postgres 10 にアップグレードしました。最初からインストールし、データベースを新しいインストールに復元しました。
データベースは正常に復元され、すべてが正常に機能しているように見えますが、新しいデータベースを作成しようとすると、ほとんどの場合、キャンセルするまでハングします。
プロセスで strace を実行したところ、新しいフォルダーがファイル システム上に作成されていないようで、無限のタイムアウト エラーが発生しました。
簡単なデータベース作成コマンド:
CREATE DATABASE ubm_vanguard_academy;
とトレース:
epoll_wait(3, [{EPOLLIN, {u32=21012256, u64=21012256}}], 1, -1) = 1
recvfrom(11, "Q\0\0\0*CREATE DATABASE ubm_vanguar"..., 8192, 0, NULL, NULL) = 43
lseek(30, 0, SEEK_END) = 8192
lstat("base/1012469", 0x7ffd04544370) = -1 ENOENT (No such file or directory)
kill(93844, SIGINT) = 0
select(0, NULL, NULL, NULL, {0, 100000}) = 0 (Timeout)
select(0, NULL, NULL, NULL, {0, 100000}) = 0 (Timeout)
select(0, NULL, NULL, NULL, {0, 100000}) = 0 (Timeout)
select(0, NULL, NULL, NULL, {0, 100000}) = 0 (Timeout)
select(0, NULL, NULL, NULL, {0, 100000}) = 0 (Timeout)
select(0, NULL, NULL, NULL, {0, 100000}) = 0 (Timeout)
select(0, NULL, NULL, NULL, {0, 100000}) = 0 (Timeout)
フォルダーのアクセス許可はすべて正しく、まれに、正常に機能し、新しいデータベースを作成できます。
postgres サーバーを再起動すると、データベースを正常に作成できるように見えますが、しばらくすると問題が再発します。
私はここで途方に暮れています。ファイルシステムが忙しすぎて時間内にフォルダーを作成できないことに関係しているのか、それともフォルダーの作成を妨げる何かが WAL で起こっているのか疑問に思っています。データベース サーバーは、複数のデータベースにサービスを提供するときに非常にビジーです。タイムアウトや長時間の待機状態の問題はありません。データベースを作成するだけで問題が発生します。
何か案は?