gaussdb set database read-only

GaussDB definir banco de dados somente leitura

Gauss não tem um modo somente leitura no sentido estrito. Você só pode configurar a sessão de login subsequente ou a transação atual para o modo somente leitura ajustando os parâmetros ou configurando o modo de transação.

1. Defina o banco de dados como somente leitura.
Observe que a configuração somente leitura aqui só tem efeito para a nova sessão e o banco de dados não precisa ser reiniciado e terá efeito permanentemente.

alter user {
    
    user_name} set default_transaction_read_only=on;

2. Defina o banco de dados como gravável.Note
que a configuração somente leitura aqui só tem efeito para a nova sessão e o banco de dados não precisa ser reiniciado para entrar em vigor permanentemente.

alter user {
    
    user_name} set default_transaction_read_only=off;

3. Exemplos

  • Definir usuário somente leitura
GAUSSDB1=# alter user user_ufo set default_transaction_read_only=on; 
ALTER ROLE
  • Desligue a conexão do usuário,
    observe que o nome do usuário precisa estar em maiúsculas
select pg_terminate_backend(PID) from pg_stat_activity where usename = 'USER_UFO' ;
  • Reconecte a sessão do usuário
    e faça login novamente. Para aplicativos, geralmente há um mecanismo de reconexão.
[dbadmin@cn-north3a-DBA-DB01 ~]$ gsql -h111.111.111.111 -p8635 -Uuser_ufo -dufo
Password for user benchmarksql: 
gsql (9.2.1) 
Type "help" for help. 
 
ufo=> 
ufo=> 
ufo=> select * from test; 
 ID | NAME 
----+------ 
 1  | ufo111
 2  | ufo112
(2 rows) 
  • Teste de leitura e gravação do usuário
ufo=> insert into test values ('3', 'ufo113'); 
ERROR:  cannot execute INSERT in a read-only transaction 
ufo=>

Acho que você gosta

Origin blog.csdn.net/qq_42226855/article/details/109724640
Recomendado
Clasificación