tal*_*ish 4 postgresql write-ahead-logging
在我的 Ubuntu 20 服务器上,我使用 apt 管理器安装了 PostgreSQL 13。我阅读了一些有关 PostgreSQL 性能调优的文章 [1],并考虑增加 WAL 段大小(默认为 16MB)。我看到以下指令,但是,我不知道在哪里运行它。
initdb -D ./data --wal-segment=1024
我猜文档指的是从 PostgreSQL 源代码安装,我不打算这样做。我该如何更改 WAL 段大小?
根据丹尼尔的回答,我执行了以下步骤
$ pg_lsclusters
$ sudo pg_dropcluster --stop 13 main
$ sudo pg_createcluster 13 main -- --wal-segsize=256
$ sudo pg_ctlcluster 13 main start
Run Code Online (Sandbox Code Playgroud)
您可以验证 WAL 段的大小为
# du -hcs /var/lib/postgresql/13/main/pg_wal/*
Run Code Online (Sandbox Code Playgroud)
如果要更改现有集群的 WAL 段大小,可以使用pg_resetwal
。
警告:为此,请pg_resetwal
仅在已完全关闭的集群上运行。pg_resetwal
在崩溃的集群上运行将导致潜在的数据丢失。
该命令看起来有点像这样:
/usr/lib/postgresql/13/bin/pg_resetwal -D /var/lib/postgresql/13/main --wal-segsize 64
Run Code Online (Sandbox Code Playgroud)
min_wal_size
如果增加 WAL 段大小,则可能需要增加。
归档时间: |
|
查看次数: |
3763 次 |
最近记录: |