Где именно мы поместим этот файл конфигурации postgresql .conf в приложение загрузки Spring? - PullRequest
2 голосов
/ 04 августа 2020

Я пытаюсь зашифровать столбец в моей базе данных prostrgres. Имя столбца - «test» типа «bytea».

Мой код enity ниже,

@ColumnTransformer(read = "pgp_sym_decrypt(" + "    test, "
        + "    current_setting('encrypt.key')"
        + ")", write = "pgp_sym_encrypt( " + "    ?, "
                + "    current_setting('encrypt.key')" + ") ")
@Column(columnDefinition = "bytea")
private String test;

postgresql .conf файл конфигурации: encrypt.key = 'Wow! Так много безопасности.

Файл конфигурации postgresql .conf помещен в src / main / resources приложения spring boot. Но значение encryption.key не подбирается. И есть ли способ передать ключ с помощью application.properties?

1 Ответ

0 голосов
/ 04 августа 2020

postgresql.conf - это файл конфигурации для Postgres сервера . Он хранится в каталоге данных (он же «кластер») на сервере.

Вы не можете разместить его на стороне клиента (где работает ваше приложение). Здесь это не имеет значения.

Чтобы изменить значения в нем, вам нужно отредактировать файл (на сервере) или использовать ALTER SYSTEM.

Если хотите чтобы изменить параметр конфигурации для текущего сеанса, используйте SET или set_config()

Последние два, вероятно, те, которые вы ищете для инициализации настраиваемое свойство для ваших функций шифрования / дешифрования.

...