データベースでWALファイルの削除が停止し、_pg_xlog
_が大きくなって、最終的にすべてのディスク領域が使用されます。手動で削除するには、_pg_controldata
_と_pg_archivecleanup
_を使用する必要があります。
レプリケーションのいじりに関係していることはほぼ確実ですが、削除したと思ったので、残っているのはレプリケーションスロットだけですが、削除しようとすると:pg_drop_replication_slot('barman') causes [55000] ERROR: replication slots can only be used if wal_level > = archive
。使用しないで削除しようとしているので、これは奇妙だと思います。
_$ barman list-server
_は何も表示しません
_SHOW wal_level minimal
_
SHOW archive_command (disabled)
_SELECT * FROM pg_replication_slots
barman,,physical,,,false,,,,23/DF000000
_
_SHOW server_version 9.5.14
_
私のpostgresql.confには_max_replication_slots = 1
_以外のすべてのWAL設定がありません。これは_0
_に設定しようとしましたが、そうするとデータベースが起動しません。
レプリケーションスロットを削除する方法、またはpostgresがWALファイルを削除しない場合のトラブルシューティング方法を教えてください。
「wal_level」を「archive」に戻し、再起動します。次に、スロットをドロップします。次に、「アーカイブ」のままにしたくない場合は、もう一度「最小」に設定し、max_replication_slotsを0に設定して、再起動します。
使用しないで削除しようとしているので、これは奇妙だと思います。
スロットを削除するには、スロット機構にアクセスする必要があります。 「利用」の一形態です。