Система безопасности в PostgreSQL включает несколько уровней, которые обеспечивают защиту от различных угроз, от внешних атак до внутренних утечек данных. 1
Уровень безопасности на сетевом уровне направлен на предотвращение несанкционированного сетевого доступа к серверу базы данных. 1 Для этого используются, например:
Уровень безопасности на транспортном уровне предполагает использование надёжного шифрования для соединений с базой данных. 35 PostgreSQL поддерживает TLS и позволяет использовать его для аутентификации как сервера, так и клиента. 35
Уровень безопасности на уровне базы данных включает комплексную систему прав пользователя, основанную на концепции ролей. 35 В современных версиях PostgreSQL (8.1 и новее) «роль» является синонимом «пользователя». 35
Уровень безопасности на уровне строк позволяет предоставлять привилегии подмножеству строк в таблице. 5 Сюда входят как строки, которые могут быть запрошены с помощью оператора SELECT, так и строки, которые могут быть результатами операторов INSERT, UPDATE и DELETE. 5
Кроме того, в PostgreSQL есть функция логирования, которая позволяет просмотреть, как, кем и когда изменялась таблица. 5