Considerando os sistemas de gerenciamento de banco de dados ...
Considerando os sistemas de gerenciamento de banco de dados (SGBD) e o Comitê Gestor da Internet no Brasil (CGIbr), julgue o item seguinte.
No PostgreSQL 13 é possível obter informações das configurações correntes do SGBD por meio de consultas às suas views nativas. O comando abaixo permite obter o número máximo de conexões ativas que uma database, de nome bancodedados, pode receber.
SELECT max_connections FROM pg_stat_database
WHERE datname= 'bancodedados';
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Alternativa correta: E - Errado.
Para resolver esta questão, é necessário ter conhecimento de como as informações de configuração são acessadas no PostgreSQL. O PostgreSQL fornece um conjunto de views de sistema que podem ser consultadas para obter informações sobre o próprio banco de dados. No entanto, a view pg_stat_database não é onde se encontram as configurações de número máximo de conexões permitidas para uma base de dados especificamente. Essa view provê estatísticas sobre todas as bases de dados do servidor PostgreSQL.
Para obter o número máximo de conexões permitidas, deve-se consultar a view pg_settings ou usar o comando SHOW max_connections;. A configuração de número máximo de conexões é um parâmetro global do servidor e não uma configuração específica para cada base de dados (database).
Portanto, a consulta fornecida no enunciado da questão:
SELECT max_connections FROM pg_stat_database WHERE datname = 'bancodedados';
está incorreta, porque não retornará o valor pedido, que é o número máximo de conexões ativas que uma base de dados pode receber, já que a view pg_stat_database não contém uma coluna max_connections. Este valor é gerenciado em nível de sistema pelo parâmetro max_connections.
Assim, o conhecimento necessário para responder corretamente à questão envolve a compreensão de como as configurações do PostgreSQL são armazenadas e consultadas, e o reconhecimento de que o número máximo de conexões é um valor configurado para o PostgreSQL como um todo, e não para bases de dados individuais.
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo
Comentários
Veja os comentários dos nossos alunos
A view para verificar as conexões ativas se chama pg_stat_activity e não pg_stat_database.
ERRADO
Para obter o número máximo de conexões ativas permitidas em um banco de dados específico, você pode consultar a tabela pg_settings e filtrar pelo parâmetro max_connections
Sets the maximum number of concurrent connections
Determines the maximum number of concurrent connections to the database server. The default is typically 100 connections, but might be less if your kernel settings will not support it (as determined during initdb). This parameter can only be set at server start.
When running a standby server, you must set this parameter to the same or higher value than on the primary server. Otherwise, queries will not be allowed in the standby server.
FONTE: https://postgresqlco.nf/doc/en/param/max_connections/
EXEMPLO DE CONSULTA: SELECT setting FROM pg_settings WHERE name = 'max_connections';
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo