Redshift: изменить настройки сервера или сохранить изменения всех сеансов - PullRequest
0 голосов
/ 04 октября 2018

На этот раз я могу спросить, есть ли возможность изменить конфигурацию сервера без повторного создания экземпляра Redshift ..?

Я понимаю, что мы можем изменить конфигурацию сервера командой set только в текущем сеансе, номы хотели бы сохранить их во всех пользовательских сеансах, особенно для сеансов BI.

- конфигурации сервера Redshift

name                           current_setting     new_setting
-------------------------------------------------------------------
datestyle                       SQL, YMD          ISO, YMD
timezone                           utc            Asia/Tokyo
describe_field_name_in_uppercase   off            on

Если невозможно изменить настройки по умолчанию без повторного создания, яМне просто интересно, Redshift может иметь любой альтернативный способ, как триггер входа в SQL Server, который может позволить запустить сеанс пользователя с некоторыми специальными процедурами, как показано ниже:

-- ex. SQL Server Logon Trigger sample

CREATE TRIGGER [open_key_trigger_test_xxxx]
ON ALL SERVER
FOR LOGON
AS
BEGIN
begin try
IF ORIGINAL_LOGIN()= 'XXXX'
begin
-- certificate key open for encode/decode until the session end.
exec TEST_DWH.dbo.OpenKeys;   
end
end try
begin catch
print ERROR_Message()
rollback;
end catch
END;

Мы хотели бы выполнить команду set'установите datestyle на' ISO, YMD '' в начале каждого сеанса пользователя, если это возможно.

Или любой рекомендуемый способ, который так ценится.

С уважением.

1 Ответ

0 голосов
/ 05 октября 2018

Воссоздание кластера не требуется.Если вы хотите изменить эти настройки для всего кластера , а не только для сеанса, вы можете сделать это, изменив группу параметров кластера в консоли AWS (или используя Redshift API, еслиэто больше ваше дело).

Просто добавьте или измените необходимые параметры и перезагрузите кластер, тогда новые настройки вступят в силу.

Обратите внимание, что для параметра часовой пояс его нельзя установить как часть группы параметров, так как часовой пояс кластера всегда UTC.Однако вы можете установить часовой пояс по умолчанию для каждого пользователя базы данных , для этого вам нужно использовать синтаксис ALTER USER .. SET TIMEZONE .. вместо.

...