Я использую последнюю версию PostgreSQL в Windows и пытаюсь понять внутренние механизмы файлов WAL.
Я хочу протестировать следующий сценарий.
- Посмотрите на активный файл wal в файловой системе
SELECT pg_walfile_name(pg_current_wal_lsn());
Возвращает 000000010000000000000007
2. Get - время последней записи
ls 000000010000000000000007
Возврат
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 10/12/2020 13:05 16777216 000000010000000000000007
3. Вставить запись в таблицу базы данных
INSERT INTO person(name)
VALUES('Christopher')
4. Проверьте еще раз время последней записи активного файла.
ls
Возврат
Répertoire : C:\Program Files\PostgreSQL\13\data\pg_wal
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 27/11/2020 07:45 archive_status
-a---- 10/12/2020 11:05 16777216 000000010000000000000007
-a---- 06/12/2020 21:15 16777216 000000010000000000000008
WAL не обновлялся! Почему ?
Ни один файл в pg_wal не обновлялся!
ОБНОВЛЕНИЕ
Благодаря вашим ответам я понял. Винда, кажется, причина!
Если я проверю дату файла с помощью
ls
Répertoire : C:\Program Files\PostgreSQL\13\data\pg_wal
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 27/11/2020 07:45 archive_status
-a---- 10/12/2020 11:05 16777216 000000010000000000000007
-a---- 06/12/2020 21:15 16777216 000000010000000000000008
НО следующее показывает подходящее время!
ls 000000010000000000000007
Возврат
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 10/12/2020 13:05 16777216 000000010000000000000007
Как в мире?