Selecione suas preferências de cookies

Usamos cookies essenciais e ferramentas semelhantes que são necessárias para fornecer nosso site e serviços. Usamos cookies de desempenho para coletar estatísticas anônimas, para que possamos entender como os clientes usam nosso site e fazer as devidas melhorias. Cookies essenciais não podem ser desativados, mas você pode clicar em “Personalizar” ou “Recusar” para recusar cookies de desempenho.

Se você concordar, a AWS e terceiros aprovados também usarão cookies para fornecer recursos úteis do site, lembrar suas preferências e exibir conteúdo relevante, incluindo publicidade relevante. Para aceitar ou recusar todos os cookies não essenciais, clique em “Aceitar” ou “Recusar”. Para fazer escolhas mais detalhadas, clique em “Personalizar”.

SET

Modo de foco
SET - Amazon Redshift

Define o valor de um parâmetro de configuração de servidor. Use o comando SET para substituir uma configuração para a duração da sessão ou transação atual somente.

Usa o comando RESET para que um parâmetro volte ao seu valor padrão.

É possível alterar os parâmetros de configuração do servidor de várias maneiras. Para obter mais informações, consulte Modificar a configuração do servidor.

Sintaxe

SET { [ SESSION | LOCAL ] { SEED | parameter_name } { TO | = } { value | 'value' | DEFAULT } | SEED TO value }

A instrução a seguir define o valor de uma variável de contexto de sessão.

SET { [ SESSION | LOCAL ] variable_name { TO | = } { value | 'value' }

Parâmetros

SESSION

Especifica que a configuração é válida para a sessão atual. Valor padrão.

variable_name

Especifica o nome da variável de contexto definida para a sessão.

A convenção de nomenclatura é um nome de duas partes separado por um ponto; por exemplo identificador.identificador. Só é permitido um separador de ponto. Use um identificador que siga as regras de identificador padrão do Amazon Redshift. Para obter mais informações, consulte Nomes e identificadores. Não são permitidos identificadores delimitados.

LOCAL

Especifica que a configuração é válida para a transação atual.

SEED TO valor

Define uma propagação interna a ser usada pela função RANDOM para a geração de números aleatórios.

SET SEED escolhe um valor numérico entre 0 e 1 e multiplica esse número por (231-1) para uso com a função Função RANDOM. Se você usar SET SEED antes de fazer diversas chamadas RANDOM, RANDOM gerará números em uma sequência previsível.

parameter_name

Nome do parâmetro a ser definido. Consulte Modificar a configuração do servidor para obter informações sobre parâmetros.

value

Novo valor do parâmetro. Use aspas simples para definir o valor de uma string específica. Se estiver usando SET SEED, esse parâmetro contém o valor SEED.

DEFAULT

Define o parâmetro para o valor padrão.

Exemplos

Alterar um parâmetro para a sessão atual

O exemplo a seguir define datestyle:

set datestyle to 'SQL,DMY';

Configurar um grupo de consultas para gerenciamento de workload

Se grupos de consulta estiverem listados em uma definição de fila como parte da configuração de WLM do cluster, configure o parâmetro QUERY_GROUP para um nome de grupo de consultas listado. Consultas subsequentes são atribuídas à fila de consultas associada. A configuração de QUERY_GROUP permanece em vigor pela duração da sessão ou até que o comando RESET QUERY_GROUP seja encontrado.

Este exemplo executa duas consultas como parte de 'priority' do grupo de consultas e, depois, redefine o grupo de consultas.

set query_group to 'priority'; select tbl, count(*)from stv_blocklist; select query, elapsed, substring from svl_qlog order by query desc limit 5; reset query_group;

Para obter mais informações, consulte Gerenciamento do workload.

Alterar o namespace de identidade padrão para a sessão

Um usuário do banco de dados pode definir default_identity_namespace. Este exemplo mostra como usar SET SESSION para substituir a configuração durante a sessão atual e, depois, mostrar o novo valor do provedor de identidades. Isso é usado com maior frequência quando você utiliza um provedor de identidades com o Redshift e o Centro de Identidade do IAM. Para ter mais informações sobre como usar um provedor de identidades com o Redshift, consulte Conectar o Redshift ao IAM Identity Center para proporcionar aos usuários uma experiência de logon único.

SET SESSION default_identity_namespace = 'MYCO'; SHOW default_identity_namespace;

Após a execução do comando, é possível executar uma declaração GRANT ou CREATE como a seguinte:

GRANT SELECT ON TABLE mytable TO alice; GRANT UPDATE ON TABLE mytable TO salesrole; CREATE USER bob password 'md50c983d1a624280812631c5389e60d48c';

Nesse caso, o efeito de definir o namespace de identidade padrão é equivalente a prefixar cada identidade com o namespace. Neste exemplo, alice é substituído por MYCO:alice. Para ter mais informações sobre definições relativas à configuração do Centro de Identidade do IAM, consulte ALTER SYSTEM e ALTER IDENTITY PROVIDER.

Configurar uma identificação para um grupo de consultas

O parâmetro QUERY_GROUP define um rótulo para uma ou mais consultas que são executadas na mesma sessão após um comando SET. Por sua vez, esse rótulo é registrado quando as consultas são executadas e pode ser usado para restringir os resultados retornados das tabelas de sistema STL_QUERY e STV_INFLIGHT e da visualização SVL_QLOG.

show query_group; query_group ------------- unset (1 row) set query_group to '6 p.m.'; show query_group; query_group ------------- 6 p.m. (1 row) select * from sales where salesid=500; salesid | listid | sellerid | buyerid | eventid | dateid | ... ---------+--------+----------+---------+---------+--------+----- 500 | 504 | 3858 | 2123 | 5871 | 2052 | ... (1 row) reset query_group; select query, trim(label) querygroup, pid, trim(querytxt) sql from stl_query where label ='6 p.m.'; query | querygroup | pid | sql -------+------------+-------+---------------------------------------- 57 | 6 p.m. | 30711 | select * from sales where salesid=500; (1 row)

As identificações de grupo de consulta são um mecanismo útil para isolar consultas individuais ou grupos de consultas executadas como parte de scripts. Você não precisa identificar e monitorar consultas pelos IDs; você pode acompanhá-las por suas identificações.

Configurar um valor de seed para a geração de números aleatórios

O exemplo a seguir usa a opção SEED com SET para que a função RANDOM gere números em uma sequência previsível.

Primeiro, retorne três inteiros RANDOM sem definir o valor de SEED primeiro:

select cast (random() * 100 as int); int4 ------ 6 (1 row) select cast (random() * 100 as int); int4 ------ 68 (1 row) select cast (random() * 100 as int); int4 ------ 56 (1 row)

Agora, defina o valor de SEED como .25 e retorne mais três números RANDOM:

set seed to .25; select cast (random() * 100 as int); int4 ------ 21 (1 row) select cast (random() * 100 as int); int4 ------ 79 (1 row) select cast (random() * 100 as int); int4 ------ 12 (1 row)

Por fim, redefina o valor de SEED como .25 e verifique se RANDOM retorna os mesmos resultados que as três chamadas anteriores:

set seed to .25; select cast (random() * 100 as int); int4 ------ 21 (1 row) select cast (random() * 100 as int); int4 ------ 79 (1 row) select cast (random() * 100 as int); int4 ------ 12 (1 row)

O exemplo a seguir define uma variável de contexto personalizada.

SET app_context.user_id TO 123; SET app_context.user_id TO 'sample_variable_value';

Nesta página

PrivacidadeTermos do sitePreferências de cookies
© 2025, Amazon Web Services, Inc. ou suas afiliadas. Todos os direitos reservados.