WARNING:  ダーティーデータを書き出しできませんでした: 関数は実装されていません

WARNING: ダーティーデータを書き出しできませんでした: 関数は実装されていません

はじめに

このページで得られるもの

Warningエラー対処方法

環境

  • Windows10 Home
  • Ubuntu 18.04 LTS
  • PostgreSQL11.5

経緯

postgresqlインストール後、テスト用DB「test」を作成した際、warnning error発生

$ psql -l
                                         データベース一覧
   名前    |  所有者  | エンコーディング |  照合順序  | Ctype(変換演算子) |     アクセス権限
-----------+----------+------------------+------------+-------------------+-----------------------
 postgres  | postgres | UTF8             | ja_JP.UTF8 | ja_JP.UTF8        |
 template0 | postgres | UTF8             | ja_JP.UTF8 | ja_JP.UTF8        | =c/postgres          +
           |          |                  |            |                   | postgres=CTc/postgres
 template1 | postgres | UTF8             | ja_JP.UTF8 | ja_JP.UTF8        | =c/postgres          +
           |          |                  |            |                   | postgres=CTc/postgres
(3 行)
$ createdb test
WARNING:  ダーティーデータを書き出しできませんでした: 関数は実装されていません
$ psql test
psql (11.5 (Ubuntu 11.5-3.pgdg18.04+1))
"help" でヘルプを表示します。

test=#

「test」自体は作成できたが、気になるので修正。

test=# \q
$ sudo vi /etc/postgresql/11/main/postgresql.conf
~前略~
port = 5432
fsync = off # この行を追加!
$ sudo service postgres restart

もう一度作成してみる

$ sudo su - postgres
$ createdb test2
$ psql -l
                                         データベース一覧
   名前    |  所有者  | エンコーディング |  照合順序  | Ctype(変換演算子) |     アクセス権限
-----------+----------+------------------+------------+-------------------+-----------------------
 postgres  | postgres | UTF8             | ja_JP.UTF8 | ja_JP.UTF8        |
 template0 | postgres | UTF8             | ja_JP.UTF8 | ja_JP.UTF8        | =c/postgres          +
           |          |                  |            |                   | postgres=CTc/postgres
 template1 | postgres | UTF8             | ja_JP.UTF8 | ja_JP.UTF8        | =c/postgres          +
           |          |                  |            |                   | postgres=CTc/postgres
 test      | postgres | UTF8             | ja_JP.UTF8 | ja_JP.UTF8        |
 test2     | postgres | UTF8             | ja_JP.UTF8 | ja_JP.UTF8        |
(5 行)

警告が出現しなくなった。これで一件落着。

最後に

原因は、参考サイトに記述の通り、wsl側に問題があるとのこと。このサイトでも必要な関数がないとのことなので早めに修正いただくことを願う。またローカル環境のみの修正に留めておいたほうが良い。