持久性是数据库的一个保证已提交事务的记录的特性(即使是发生服务器崩溃或断电)。 然而,持久性会明显增加数据库的负荷,因此如果你的站点不需要这个保证,本数据库可以被配置成运行更快。
在这种情况下,你可以调整下列配置来提高性能。除了下面列出的,在数据库软件崩溃的情况下也能保证持久性。当这些设置被使用时,只有突然的操作系统停止会产生数据丢失或损坏的风险。
将数据库集簇的数据目录放在一个内存支持的文件系统上(即 RAM 磁盘)。这消除了所有的数据库磁盘 I/O,但将数据存储限制到可用的内存量(可能有交换区)。
关闭 fsync;不需要将数据刷入磁盘。
关闭 synchronous_commit;可能不需要在每次提交时强制把 WAL 写入磁盘。这种设置可能会在 _数据库_崩溃时带来事务丢失的风险(但是没有数据破坏)。
关闭 full_page_writes;不需要警惕部分页面写入。
增加 max_wal_size 和 checkpoint_timeout; 这会降低检查点的频率,但会增加
/pg_wal
的存储要求。创建不做日志的表来避免 WAL 写入,不过这会让表在崩溃时不安全。
文档内容是否对您有帮助?