Системы управления реляционными базами данных являются ключевым компонентом работы многих веб-сайтов и приложений. Они предоставляют средство структурированного хранения, организации и доступа к информации.
аудит postgresql или Postgres — это система управления реляционной базой данных, предоставляющая реализацию языка запросов SQL. Это популярный выбор для множества больших и малых проектов. Postgres также имеет преимущество соответствия стандартам (в том числе SQL), и, кроме того, обладает множеством продвинутых возможностей, например, надёжные транзакции (reliable transactions) и параллелизм без блокировки чтения (concurrency without read locks).
В этой статье мы продемонстрируем, как установить Postgres на виртуальный сервер с Ubuntu 16.04, а также осветим несколько простых сценариев его использования. Когда речь заходит об аудите в контексте СУБД, то в общем случае это может быть сохранение информации обо всем, что происходит в базе данных. Это может быть попытка авторизации пользователя, запросы к данным, запросы, не выполняющие изменений данных, и многое другое. В данной статье мы сосредоточимся только на аудите изменений структуры БД и хранящихся в ней данных. В целом аудит, журнализация или контроль изменений структуры и данных БД обычно решают следующие задачи [2]:
узнать кто, когда и откуда производил изменения структуры БД и/или данных; ведение истории изменения структуры БД и/или данных; уведомление об изменениях структуры БД и/или данных; В корпоративных информационных системах необходимо частично или полностью решать вышеприведенные задачи, особенно в информационных системах, которые предоставляют возможность изменять структуру БД.
В моей организации вопрос аудита изменения структуры и данных БД возник в процессе разработки информационной системы с изменяющейся структурой БД. Специфика приложения была такова, что позволяла пользователю создавать, изменять и удалять таблицы и поля в них. Конечно, использовался пользовательский интерфейс, адаптированный к конкретной предметной области, и пользователь мог не подозревать, что оказывает влияние на структуру БД. Структура БД менялась, менялись и данные, поэтому необходимо было обеспечить сохранение всех изменений, осуществляемых с данными, по крайней мере, за какой-то приемлемый период.