Chapter 25. Ԥдʽ��־��Write-Ahead Logging (WAL)��

Table of Contents
25.1. WAL �ĺô�
25.2. WAL ����
25.3. �ڲ�

Ԥдʽ��־ ��WAL�� ��һ��ʵ��������־�ı�׼�������й�������ϸ���������ڴ�������������ȫ���Ļ����й�������������ҵ��� �����֮��WAL ������˼���Ƕ������ļ����޸ģ������DZ�����������壩������ֻ�ܷ�������Щ�޸��Ѿ���¼����־֮�� Ҳ����˵����������Щ�仯����־��¼��ˢ�����ô洢��֮�� ���������ѭ������̣���ô���ǾͲ���Ҫ��ÿ�������ύ��ʱ�򶼰�����ҳ��ˢ�����̣���Ϊ����֪���ڳ��ֱ���������£� ���ǿ�������־���ָ����ݿ⣺�κ���δ���ӵ�����ҳ�ļ�¼�����ȴ���־��¼�������������ǰ�����ָ���Ҳ���� REDO����

25.1. WAL �ĺô�

ʹ�� WAL �ĵ�һ����Ҫ�ĺô����������ؼ����˴���д�Ĵ����� ��Ϊ����־�ύ��ʱ��ֻ����־�ļ���Ҫ��ˢ�����̣������������޸ĵ����������ļ��� �ڶ��û���������������ύ��������־�ļ���һ�� fsync() ����ɡ����ң���־�ļ���˳��д�ģ� ���ͬ����־�Ŀ���ҪԶ��ͬ������ҳ�Ŀ���ҪС�� ��һ��������С�����޸����ݴ洢����಻ͬ��λ�ø�����ˡ�

����һ���ô���������ҳ�������ԡ�ʵ������ǣ��� WAL ֮ǰ��PostgreSQL �������ܱ�֤�ڱ��������������ҳ�������ԡ� �� WAL ֮ǰ����д�Ĺ����е��κα��������ܵ��£�

  1. ������¼ָ��һ�������ڵı����

  2. ������¼�ڷ��Ѳ����ж�ʧ

  3. ��ȫ�����˵ı������ҳ�����ݣ���Ϊ����ҳֻд��һ����

���������⣨���� 1 �� 2�������Ѿ�ͨ������� fsync �����޲����ˣ��������û�� WAL����ôû�к����ԵĴ������������ķ����� WAL ����־�ﱣ����������ҳ������ -- �����Щ�����ڱ�����Ļָ�����Ҫȷ������ҳ�������ԵĻ���

���WAL ���ṩ�����ݿ����߱��ݺͻָ���backup and restore (BAR)���Ŀ��ܣ� ���� Section 22.3 �������������� ͨ���鵵�� WAL �ļ������ǿ���֧�ָֻ�����ͷ�� WAL �ļ�����������ʱ�̣� ����ֻ��Ҫ�򵥵ذ�װ��ǰ�����ݿ�������ݣ�Ȼ���ط� WAL ���Լ�ϣ����ʱ�䡣 ���⣬�����ݻ����������ݿ�״̬��һ����ʱ���� — ������ǻ���һ��ʱ�������Ļ��� ��Ϊ WAL ��־���طŽ��޸��κ��ڲ��IJ�һ�¡�