Назад | Перейти на главную страницу

Как журналы MySQL сравниваются с журналами Postgresql?

У MySQL довольно много журналов:

Я знаю о Postgresql WAL, который эквивалентен журналу транзакций InnoDB (правильно?).

А как насчет других журналов MySQL, таких как журнал bin - есть ли их эквивалент Postgresql?

Поскольку MySQL реализует несколько механизмов хранения, требуется как двоичный журнал для инкрементного резервного копирования / репликации, так и журнал транзакций InnoDB для соответствия ACID (только с механизмом хранения InnoDB). В postgres WAL можно использовать как для репликации, так и для соответствия ACID, поэтому WAL объединяет двоичный log и журнал транзакций InnoDB.

Вы можете делать запросы журнала postgres к журналу syslog / separete с помощью log_statement и log_duration. Таким образом, вы получаете как журнал запросов, так и директиву log_min_duration_statement, вы можете реализовать медленный журнал запросов.

Возможно, я немного ошибся в некоторых деталях, но я считаю, что:

Как вы упомянули, WAL похож на журнал транзакций innodb.

Все журналы обычно находятся в /var/log/postgresql/postgresql.log)

В стандартном PostgreSQL нет двоичного файла журнала, потому что он не выполняет репликацию, в отличие от MySQL. Вы можете использовать такие вещи, как Slony, чтобы добавить репликацию.

Журнал ошибок находится в postgresql.log

Журнал медленных запросов также входит в этот файл.

Общий журнал запросов такой же, как установка ограничения медленного запроса на 0 мс.