postgresql.conf是什么?standby.signal, rewind.signal, recovery.signal又是什么?

PostgreSQL的配置文件。

postgresql.conf => PostgreSQL的配置文件

“postgresql.conf” 是 PostgreSQL 数据库服务器的主要配置文件。通过这个文件,您可以自定义服务器的操作。

目的と機能:

サーバー設定: パフォーマンス、セキュリティ、接続設定など、サーバーの多くの側面を制御します。
カスタマイズ: 環境や要件に応じて、データベースの動作を調整できます。

設定項目の例:

接続設定: max_connections で同時接続数を設定し、listen_addresses で接続を受け付ける IP アドレスを指定します。
メモリ設定: shared_buffers, work_mem などの設定を通じて、データベースが使用するメモリ量を制御します。
ログ設定: ログの詳細度、保存場所、ローテーションポリシーなどを設定できます。

設定方法:
テキストエディタを使用して postgresql.conf ファイルを開き、設定値を変更します。
変更後、サーバーを再起動するか、特定の設定は下記コマンドでリロードすることができます。
# run
pg_ctl reload

# or execute
SELECT pg_reload_conf()

設定ファイルの場所:
デフォルトでは、データディレクトリ内にありますが、場所はインストール方法やオペレーティングシステムによって異なる場合があります。
下記のコマンドを使用して、現在の設定ファイルのパスを確認できます。
SHOW config_file;

# —————————–
# PostgreSQL配置文件
# —————————–
#
# 该文件由以下形式的行组成:
#
# name = value
#
# (”=”是可选的)可以使用空格。以”#”开头的任何位置都会引入注释。完整的参数名称和允许的值列表可以在PostgreSQL文档中找到。
#
# 在该文件中显示的被注释掉的设置代表默认值。重新注释设置不足以将其恢复为默认值;您需要重新加载服务器。
#
# 当服务器启动和收到SIGHUP信号时,会读取该文件。如果您在运行中的系统上编辑该文件,您必须通过SIGHUP服务器使更改生效,运行”pg_ctl reload”或执行”SELECT pg_reload_conf()”。一些标记下的参数需要服务器关机和重启才能生效。
#
# 任何参数也可以作为服务器的命令行选项给出,例如,”postgres -c log_connections=on”。可以使用”SET” SQL命令在运行时更改一些参数。
#
# 内存单位:B = 字节,时间单位:us = 微秒
# kB = 千字节 ms = 毫秒
# MB = 兆字节 s = 秒
# GB = 吉字节 min = 分钟
# TB = 太字节 h = 小时
# d = 天#——————————————————————————
# 连接和身份验证
#——————————————————————————

# – 连接设置 –

listen_addresses = ‘*’
# 逗号分隔的地址列表;
# 默认为’localhost’;使用’*’表示所有
# (更改需要重新启动)
#port = 5432 # (更改需要重新启动)
max_connections = 100 # (更改需要重新启动)

#——————————————————————————
# 资源使用情况(除了WAL)
#——————————————————————————

# – 内存 –

shared_buffers = 128MB # 最少128kB
# (更改需要重新启动)

PostgreSQL的控制文件

在PostgreSQL 13中,standby.signal,rewind.signal和recovery.signal用于触发数据库恢复和复制配置中的特定操作。
这些被称为“信号文件”的文件被用于触发PostgreSQL中的特定状态。这些文件本身并不包含代码,而是指示服务器执行特定操作的文件存在。

待命信号

目的: このファイルは、PostgreSQL サーバーがスタンバイモードで起動することを指示します。スタンバイモードでは、サーバーはリードオンリーで動作し、プライマリサーバーからのログをリプレイ(適用)します。

使用方法: standby.signal ファイルをデータディレクトリに配置するだけで、特別な設定は不要です。ファイルの内容は空でも構いません。

倒带信号。

目的: PostgreSQL 13 では、rewind.signal ファイルの存在により、pg_rewind が自動的にトリガーされるようになりました。これにより、サーバーは以前のプライマリサーバーとの差分を同期し、スタンバイとして再開する準備をします。

使用方法: スタンバイサーバーを停止し、データディレクトリに rewind.signal ファイルを作成します。その後、サーバーを再起動すると、pg_rewind が自動的に実行されます。

恢复信号

目的: PostgreSQL 12 までの recovery.conf の役割を引き継いでいます。このファイルは、サーバーがリカバリモード(またはスタンバイモード)で起動することを指示します。

使用方法: PostgreSQL 12 以前では recovery.conf に設定を記述していましたが、13 以降は postgresql.conf または standby.signal と組み合わせて使用します。recovery.signal ファイルは空の状態でデータディレクトリに配置します。

整理、总结

postgresql.conf 是 PostgreSQL 数据库服务器的配置文件,用于配置性能和连接设置等。
带有 .signal 扩展名的信号文件用于触发服务器的特定操作模式。
standby.signal 表示待命模式,rewind.signal 表示自动执行 pg_rewind,recovery.signal 指示恢复模式。
这些文件是空的,它们的存在本身就是对服务器的指示。

广告
将在 10 秒后关闭
bannerAds