Questão de Banco de Dados — PostgreSQL — Quadrix 2024
- Código
- qg349522
- Banca
- Quadrix
- Órgão
- CREFITO - 8ª Região (PR)
- Ano
- 2024
- Nível
- Superior
- Cargo
- Analista de Sistemas
- CCerto
- EErrado
GabaritoC — Certo
Gabarito: CERTO. No PostgreSQL, a função current_database() retorna o nome do banco de dados ao qual a sessão está conectada, e pode ser utilizada em um comando SELECT, como em SELECT current_database();. A afirmação está correta.
A função current_database() é uma função nativa do PostgreSQL que não requer argumentos e retorna o nome do banco de dados atual. Ela é útil para scripts e consultas que precisam identificar dinamicamente o banco em uso. Por exemplo, ao executar SELECT current_database(); em uma conexão com o banco meubanco, o resultado será meubanco. Essa função é frequentemente usada em conjunto com outras funções de sistema, como current_user e version(), para obter informações sobre o ambiente de execução.
É importante distinguir current_database() de outras funções relacionadas, como current_schema(), que retorna o esquema atual, e current_user, que retorna o usuário atual. Enquanto current_database() identifica o banco de dados, current_schema() identifica o esquema dentro do banco. Essa distinção é relevante porque um banco pode conter múltiplos esquemas, e a função current_schema() é usada para saber qual deles está ativo na sessão.
A banca explora aqui um conhecimento específico de funções do PostgreSQL. O candidato que conhece as funções de sistema do PostgreSQL reconhece imediatamente que current_database() é uma função válida e que pode ser usada em um SELECT. A pegadinha seria confundir com outras funções ou com comandos de outros SGBDs, como SELECT DATABASE() no MySQL, que também retorna o banco atual, mas com sintaxe diferente. No PostgreSQL, a função correta é current_database().
A afirmação está correta. A função current_database() é uma função nativa do PostgreSQL que retorna o nome do banco de dados atual da sessão. Ela pode ser usada em um comando SELECT, como em SELECT current_database();. Não há erro na afirmação.
Gabarito: CERTO
Link permanente: /questoes/qg349522