標籤:des 使用 os io 檔案 資料 ar 問題
listen_addresses:#指定資料庫用來監聽用戶端串連的TCP/IP地址,預設是值是* ,表示資料庫在啟動以後將在運行資料的機器上的所有的IP地址上監聽使用者請求,可以寫成機器的名字,也可以寫成IP地址,不同的值用逗號分開,如果被設成localhost,表示資料庫只能接受本地的用戶端串連請求,不能接受遠端用戶端串連請求
listen_addresses = ‘0.0.0.0‘ #監聽IPv4的所有IP.
port:#指定資料庫監聽戶端串連的TCP連接埠。預設值是5432
max_connections :#資料庫可以同時建立的最大的用戶端串連的數目
max_connections = 1000#最大允許1000個串連.
superuser_reserved_connections :#為超級使用者保留的可用串連數.
superuser_reserved_connections = 3#為超級使用者保留3個可用串連數.
unix_socket_directory: #預設的unix socket檔案放在/tmp,
unix_socket_directory = ‘/pgdata/socket_dir‘修改為$PGDATA, 以確保安全.
unix_socket_permissions:#預設的存取權限是0777,
unix_socket_permissions = 0700 #修改為0700更安全.
tcp_keepalives_idle = 60
tcp_keepalives_interval = 10
tcp_keepalives_count = 6 #空閑多少秒後,給idle的串連的用戶端發送tcp的keepalives包, Linux下面預設是2小時.
shared_buffers :#共用快取大小
shared_buffers = 32MB#預設的值為32MB,當share_buffers的值大到一定程度,瓶頸就不是記憶體的,而是CPU。
temp_buffers:#決定存放暫存資料表的資料緩衝區中的資料區塊的個數,每個資料區塊的大小是8KB。暫存資料表緩衝區存放在每個資料庫進程的私人記憶體中,而不是存放在資料庫的共用記憶體中
work_mem :#資料庫的排序操作和雜湊表使用的記憶體緩衝區的大小
maintenance_work_mem:#決定資料庫的維護操作使用的記憶體空間的大小
vacuum*:#清空(記憶體回收相關參數設定)
bgwriter_delay:#bgwriter 進程喚醒周期,預設為200ms,bgwriter進程執行一次後會停頓200ms再被喚醒執行下一次操作, 當資料庫的寫操作很頻繁的時候, 200ms可能太長, 導致其他進程需要花費過多的時間來進行bgwriter的操作.
wal_level:#資料庫預寫記錄檔層級,如果需要做資料庫WAL記錄備份,至少需要設定成archive層級, 如果需要做hot_standby,需要設定成hot_standby當然hot_standby意味著WAL記錄得更詳細, 如果沒有打算做hot_standby設定得越低效能越好.
wal_level = hot_standby:#設定為 hot_standby
日誌輸出的配置.
log_destination = ‘csvlog‘
logging_collector = on
log_directory = ‘pg_log‘
log_filename =‘postgresql-%Y-%m-%d_%H%M%S.log‘
log_file_mode = 0600
log_truncate_on_rotation = on
log_rotation_age = 1d
log_rotation_size = 10MB
log_min_duration_statement:#這個參數調整的是記錄執行時間超過1秒的SQL到日誌中, 一般用於跟蹤哪些SQL執行時間長.
log_checkpoints:#記錄每一次checkpoint到日誌中.
log_lock_waits = on:#鎖等待開啟
deadlock_timeout = 1s:#鎖逾時時間,記錄鎖等待超過1秒的操作, 一般用於排查商務邏輯上的問題.
log_statement = ‘ddl‘:#記錄DDL語句, 一般用於追蹤資料庫中的危險操作.
autovacuum = on:#預設autovacuum就是開啟的
log_autovacuum_min_duration = 0:#記錄所有的autovacuum操作.