Можно ли в Postgres 10 автоматически вставлять имя роли входа при создании новой строки?
то есть я уже использую метку времени для отслеживания даты создания строки. Также было бы полезно увидеть, какой пользователь создал строку.
Спасибо!
Да. Просто сделайте столбец по умолчанию session_user
. (Это псевдопеременная, а не вызов функции).
Если вы хотите запретить пользователю переопределять его, вы также должны убедиться, что GRANT
запись разрешений в таблицу для каждого столбца, а не для таблицы в целом, и убедитесь, что обычный рабочий пользователь не является владельцем таблицы.
Или, наоборот, BEFORE INSERT OR UPDATE
триггер, который устанавливает NEW.the_column := session_user
.