SóProvas



Questões de PostgreSQL


ID
5269
Banca
CESGRANRIO
Órgão
REFAP SA
Ano
2007
Provas
Disciplina
Banco de Dados
Assuntos

Na versão 8.2 do PostgreSQL, que comando recupera a área de armazenamento ocupada por tuplas excluídas?

Alternativas
Comentários
  • O comando VACUUM recupera a área de armazenamento ocupada pelas tuplas excluídas. Na operação normal do PostgreSQL as tuplas excluídas, ou tornadas obsoletas por causa de uma atualização, não são fisicamente removidas da tabela; permanecem presentes até o comando VACUUM ser executado. Portanto, é necessário executar o comando VACUUM periodicamente, especialmente em tabelas freqüentemente atualizadas.

    Fonte: http://pgdocptbr.sourceforge.net/pg80/sql-vacuum.html
  • Quem não tem acesso:  - -> E

  • No PostgreSQL, as tuplas a serem removidas ou modificadas não são imediatamente alteradas no sistema. Na verdade, as alterações são registradas em novas versões do mesmo dado, devido ao mecanismo de controle de concorrência MVCC. Por esse motivo, as versões antigas das tuplas modificadas ou removidas que não serão mais utilizadas por nenhuma transação precisam ser periodicamente removidas do sistema, de modo a liberar espaço em disco para se armazenar novos dados. O mecanismo que possibilita essa operação é o vacuum.


ID
29008
Banca
CESGRANRIO
Órgão
CAPES
Ano
2008
Provas
Disciplina
Banco de Dados
Assuntos

No PostgreSQL, o utilitário que pode ser acionado para efetuar um backup de um banco de dados é o

Alternativas
Comentários
  • O pg_dump é um utilitário para salvar um banco de dados do PostgreSQL em um arquivo script ou de exportação.Sintaxe:pg_dump [-a | -s] [-b] [-c] [-C] [-d | -D] [-f arquivo] [-F formato] [-i] [-n | -N] [-o] [-O] [-R] [-S] [-t tabela] [-v] [-x] [-X palavra_chave] [-Z 0...9] [-h hospedeiro] [-p porta] [-U nome_do_usuário] [-W] nome_bd
  • A idéia por trás do Método SQL-dump é gerar um arquivo texto contendo comandos SQL que, ao serem processados pelo servidor, recriam o banco de dados no mesmo estado em que este se encontrava quando o arquivo foi gerado. O PostgreSQL disponibiliza o programa utilitário pg_dump para esta finalidade.

     

    http://pgdocptbr.sourceforge.net/pg80/backup.html

  • Quem não tem acesso:  - -> E

  • No PostgreSQL, utilizamos o pg_dump para realizar backup de um banco de dados. Um comando para gerar um arquivo de backup seguirá o padrão pg_dump bd_origem > arquivo_dump. 


ID
126934
Banca
CESPE / CEBRASPE
Órgão
CEHAP-PB
Ano
2009
Provas
Disciplina
Banco de Dados
Assuntos

A instalação do postgre, em sistemas Linux, usa a biblioteca ZLIB por padrão. Entretanto, se o programador que estiver fazendo a configuração manual do banco não quiser utilizá-la, basta passar, para o programa configure, o parâmetro.

Alternativas
Comentários
  • --without-zlib

    Não permite o uso da biblioteca Zlib. Esta opção desativa o suporte a arquivos comprimidos por parte do pg_dump. Esta opção se destina apenas àqueles raros sistemas onde esta biblioteca não está disponível.

    Fonte: http://pgdocptbr.sourceforge.net/pg80/install-procedure.html

  • Quem não tem acesso:  - -> B

  • trocentas opções no configure....a banca escolhe uma para cobrar...incentivo ao chute, ou a deixar em branco, porque não tem só postgresql no seu edital...


ID
129991
Banca
CESPE / CEBRASPE
Órgão
SERPRO
Ano
2008
Provas
Disciplina
Banco de Dados
Assuntos

Com relação à tecnologia de banco de dados, julgue os itens a
seguir.

O sistema de gerenciamento de banco de dados (SGBD) PostgreSQL é um modelo em código aberto que tem como base o modelo de desenvolvimento bazar.

Alternativas
Comentários
  • Modelos de desenvolvimento de um software livre: Catedral e Bazar

    O modelo Catedral, no qual o código fonte está disponível para cada release do software, mas o código desenvolvido entre dois releases é restrito a um exclusivo grupo de desenvolvedores.

    O modelo Bazar, no qual o código é desenvolvido de forma totalmente aberta e pública, utilizando a Internet. Linus Torvalds, líder do projeto Linux, é tido como o inventor deste modelo de desenvolvimento de software.

    http://pt.wikipedia.org/wiki/A_Catedral_e_o_Bazar
  • O termo bazar usado na questão é semelhante ao bazar que conhecemos, que é um tipo de comércio aberto, visível, não restrito.
  • Correto!
    O Postgres segue o modelo bazar.
  • O PostgreSQL é um dos SGBDs (Sistema Gerenciador de Bancos de Dados) de código aberto mais avançados.

    O PostgreSQL é um projeto open source coordenado pelo PostgreSQL Global Development Group. Embora as atividades do grupo sejam patrocinadas por diversas organizações de todo o mundo, seu modelo de desenvolvimento é o modelo Bazar (originalmente apresentado em A Catedral e o Bazar de Eric S. Raymond).

    Fonte: http://pt.wikipedia.org/wiki/PostgreSQL
  • NUNCA tinha ouvido falar nisso :P

    Bom saber!

    O artigo do Wikipedia explica bem o assunto.

  • 2013

    O modelo de desenvolvimento do PostgreSQL baseia-se, em sua maioria, nos grupos de voluntários desenvolvedores de diversos países e que se comunicam via Internet.

    certa

     

  • Quem não tem acesso:  - -> CERTO

  • PQP sempre as bancas achando algo aleatório para cobrar... é concurso, mas parece aquele "Quem quer ser um milionário", ficam amostrando de uma fonte infinita em vez de pegar uma fonte bem definida, delimitar o assunto, e permitir focar no estudo e não na sorte...cadê esse bazar na documentação? E mesmo se tivesse, uma documentação de trocentas mil páginas não é delimitar! Por isso que eu gosto da ESFCEX, porque tem uma lista de bibliografias lá que eles usam para achar as questões!!! E você acha a resposta das questões na bibliografia, se você estudar a bibliografia toda, garantidamente vc vai passar...


ID
135532
Banca
CESPE / CEBRASPE
Órgão
EMBASA
Ano
2010
Provas
Disciplina
Banco de Dados
Assuntos

Julgue os itens a seguir, a respeito de software livre.

Atualmente, o sistema de gerenciamento de banco de dados georreferenciados de código aberto mais utilizado no mundo é o PostgreSQL/PostGIS.

Alternativas
Comentários
  • O banco de dados de código aberto mais utilizado do mundo é o MySQL.

    Mas a questão pergunta sobre o SGBD Georrenferenciado mais utilizado. E a extensão espacial mais utilizada no mundo é a PostGis do PostgreSQL.
    Por isso questão correta.

ID
144844
Banca
CESPE / CEBRASPE
Órgão
INMETRO
Ano
2009
Provas
Disciplina
Banco de Dados
Assuntos

Julgue os itens seguintes a respeito das tecnologias de bancos de dados e aplicações web.

Em um computador no qual se encontra em funcionamento uma instalação padrão de um servidor de SGBD PostgreSQL na plataforma Linux, é provável que o diretório /var/lib/pgsql/data contenha vários arquivos de bancos de dados, um para cada banco de dados localmente gerenciado pelo SGBD.

Alternativas
Comentários
  • Em /var/lib/pgsql/data/ fica o arquivo de inicialização pg_hba.conf
    As bases de dados se localizam no diretório /var/lib/pgsql/data/base/
  • Quem não tem acesso:  - -> Errado


ID
171328
Banca
FGV
Órgão
MEC
Ano
2009
Provas
Disciplina
Banco de Dados
Assuntos

Para garantir o controle de concorrência e, consequentemente a consistência dos dados, o PostgreSQL utiliza o modelo MVCC (Multi Version Concurrency Control).
A respeito desse modelo não é correto afirmar que:

Alternativas
Comentários
  • MVCC uses timestamps or increasing transaction IDs to achieve transactional consistency. MVCC ensures a transaction never has to wait for a database object by maintaining several versions of an object.
    MVCC also provides potential "point in time" consistent views. In fact read transactions under MVCC typically use a timestamp or transaction ID to determine what state of the DB to read, and read these "versions" of the data. This avoids managing locks for read transactions because writes can be isolated by virtue of the old versions being maintained, rather than through a process of locks or mutexes.
    In other words, MVCC provides each user connected to the database with a "snapshot" of the database for that person to work with. Any changes made will not be seen by other users of the database until the transaction has been committed.


    http://en.wikipedia.org/wiki/Multiversion_concurrency_control
  • Questão retirada do link: http://pgdocptbr.sourceforge.net/pg80/mvcc.html

    Diferentemente dos sistemas gerenciadores de banco de dados tradicionais, que usam bloqueios para controlar a simultaneidade, o PostgreSQL mantém a consistência dos dados utilizando o modelo multiversão (Multiversion Concurrency ControlMVCC). Isto significa que, ao consultar o banco de dados cada transação enxerga um instantâneo (snapshot) dos dados (uma versão do banco de dados) como estes eram há um tempo atrás, sem levar em consideração o estado corrente dos dados subjacentes. Este modelo protege a transação contra enxergar dados inconsistentes, o que poderia ser causado por atualizações feitas por transações simultâneas nas mesmas linhas de dados, fornecendo um isolamento da transação para cada sessão do banco de dados.

    A principal vantagem de utilizar o modelo de controle de simultaneidade MVCC em vez de bloqueios é que, no MVCC os bloqueios obtidos para consultar dados (leitura) não conflitam com os bloqueios obtidos para escrever dados e, portanto, a leitura nunca bloqueia a escrita, e a escrita nunca bloqueia a leitura.

  • Quem não tem acesso:  - -> E

  • a) Certa! No MVCC, uma leitura não bloqueia uma escrita e uma escrita não bloqueia uma leitura. 

    b) Também está correta, mesma justificativa da anterior.

    c) No MVCC, como o próprio nome já diz, são armazenadas múltiplas versões dos dados. Essas versões são os diferentes estados do dado ao longo do tempo e são chamadas de snapshots.

    d) O MVCC é um mecanismo de controle de concorrência. Assim como os demais mecanismos de concorrência, ele visa impedir que uma transação enxergue dados inconsistentes, para que não produza resultados incorretos. Assim, a letra D também está certa.

    Uma ressalva é que o MVCC pode ser configurado para assumir outros níveis de isolamento que não o SSI (serializável), então, em tese, poderia haver alguma leitura de dados inconsistentes – mas isso é a exceção, não a regra!

    e) Essa é a nossa resposta. O MVCC cria uma nova versão dos dados para cada transação que o está modificando. Assim, não se considera um “estado concorrente”, mas sim são armazenadas múltiplas versões (snapshots) para o dado.


ID
172654
Banca
FCC
Órgão
MPU
Ano
2007
Provas
Disciplina
Banco de Dados
Assuntos

Na instalação via fontes do PostgreSQL versão 8.1.4, a autenticação padrão que permite acesso local sem senha é do tipo

Alternativas
Comentários
  • Abaixo segue um link interessante sobre autenticação no PostgreSql


    http://pgdocptbr.sourceforge.net/pg80/auth-methods.html
  • ident - utiliza os usuários do SO

    crypt, md5 e pasword - utiliza mecanismos de criptografia

    trust - acesso para localhost

    pam - semelhante ao password.

  • Quem não tem acesso:  - -> C


ID
172657
Banca
FCC
Órgão
MPU
Ano
2007
Provas
Disciplina
Banco de Dados
Assuntos

No PostgreSQL, pode-se aplicar o comando SQL da categoria DCL - Data Control Language:

Alternativas
Comentários
  • ALTER ROLE -- altera um papel do banco de dados

  •  No PostgreSql existe RULE (regra) e ROLE (papel), cuidado.

  • Nome

    CREATE RULE -- cria uma regra de reescrita 

    Sinopse

    	CREATE [ OR REPLACE ] RULE nome AS ON evento        TO tabela [ WHERE condição ]        DO [ ALSO | INSTEAD ] { NOTHING | comando | ( comando ; comando ... ) }

    Descrição

    O comando CREATE RULE cria uma regra a ser aplicada à tabela ou visão especificada. O comando CREATE OR REPLACE RULE cria uma regra, ou substitui uma regra existente com o mesmo nome para a mesma tabela.

    O sistema de regras do PostgreSQL permite definir uma ação alternativa a ser realizada nas inserções, atualizações ou exclusões em tabelas do banco de dados. Grosso modo, uma regra faz com que sejam executados comandos adicionais quando é executado um determinado comando em uma determinada tabela. Como alternativa, a regra INSTEAD pode substituir um determinado comando por outro, ou até mesmo fazer com que o comando não seja executado. As regras também são utilizadas para implementar as visões das tabelas. É importante perceber que a regra é, na realidade, um mecanismo de transformação de comando, ou uma macro de comando. A transformação acontece antes do início da execução do comando. Se, na verdade, for desejada uma operação que dispare de forma independente para cada linha física, provavelmente o que se deseja é um gatilho, e não uma regra.

    **********************************************************************************************************

    Nome

    CREATE ROLE -- cria um papel do banco de dados 

    Sinopse

    CREATE ROLE nome [ [ WITH ] opção [ ... ] ]

    Descrição

    O comando CREATE ROLE adiciona um novo papel (role) ao agrupamento de bancos de dados do PostgreSQL. O papel é uma entidade que pode possuir objetos do banco de dados e possuir privilégios do banco de dados; o papel pode ser considerado como sendo um "usuário", um "grupo", ou ambos, dependendo de como é utilizado. Para utilizar este comando é necessário possuir o privilégio CREATEROLE, ou ser um superusuário do banco de dados.

    Deve ser observado que os papéis são definidos no nível de agrupamento dos bancos de dados e, portanto, são válidos para todos os bancos de dados do agrupamento.

    **********************************************************************************************************

    Como podemos verificar, o que controla usuários e autenticação (DCL) é o ROLE.

  • O comando CREATE sempre será DDL, portanto CREATE RULE (cria regra) é da categoria DDL, nos levando a resposta letra d.

  • Quem não tem acesso:  - -> D


ID
172660
Banca
FCC
Órgão
MPU
Ano
2007
Provas
Disciplina
Banco de Dados
Assuntos

No PostgreSQL, quando o programa postmaster está em execução, o identificador de processo dele fica armazenado no diretório de dados no arquivo

Alternativas
Comentários
  • O postmaster é o servidor de banco de dados multiusuário do PostgreSQL. Para um aplicativo cliente acessar um banco de dados deve se conectar (através de uma rede ou localmente) a um postmaster. O postmaster então inicia um processo servidor separado ("postgres") para manter a conexão. O postmaster também gerencia a comunicação entre os processos servidores.

    Por padrão, o postmaster inicia em primeiro plano (foreground) e envia as mensagens de log para a saída padrão. Na prática o postmaster deve ser iniciado como um processo em segundo plano (background), provavelmente durante a inicialização do sistema operacional.

    Um postmaster gerencia sempre os dados de exatamente um agrupamento de bancos de dados. Um agrupamento de bancos de dados é uma coleção de bancos de dados que é armazenada em um local comum no sistema de arquivos. Quando o postmaster inicia necessita saber a localização dos arquivos do agrupamento de bancos de dados ("área de dados"), o que é feito através da opção de chamada -D, ou através da variável de ambiente PGDATA; não existe nenhum valor padrão. Mais de um processo postmaster pode estar executando no sistema operacional no mesmo instante, desde que utilizem áreas de dados diferentes e portas de comunicação diferentes (veja abaixo). A área de dados é criada pelo initdb.

  • Enquanto o postmaster está executando, seu identificador de processo (PID) fica armazenado no arquivo postmaster.pid no diretório de dados. Este arquivo é utilizado para impedir que mais de um processo postmaster execute usando o mesmo diretório de dados. Também pode ser utilizado para parar o processo postmaster.

    http://pgdocptbr.sourceforge.net/pg80/postmaster-start.html
  • Quase todos softwares que rodam como daemons em sistemas Unix-like criam arquivos .pid tendo como conteúdo o identificador do Processo rodando.

  • Quem não tem acesso:  - -> E


ID
172663
Banca
FCC
Órgão
MPU
Ano
2007
Provas
Disciplina
Banco de Dados
Assuntos

NÃO é um tipo de junção suportado pelos gerenciadores de banco de dados PostgreSQL:

Alternativas
Comentários

ID
172666
Banca
FCC
Órgão
MPU
Ano
2007
Provas
Disciplina
Banco de Dados
Assuntos

Sobre autenticação de clientes no banco de dados PostgreSQL, considere:

I. A autenticação é tradicionalmente controlada pelo arquivo pg_hba.conf armazenado no diretório de dados.

II. O arquivo de configuração da autenticação pode ser armazenado em outro local que não o diretório de dados.

III. HBA significa autenticação baseada no hospedeiro.

Está correto o que consta em

Alternativas
Comentários
  • -->Autenticação no Postgree

    A autenticação do cliente é controlada pelo arquivo que por tradição se chama pg_hba.conf e é armazenado no diretório de dados do agrupamento de bancos de dados. HBA significa autenticação baseada no hospedeiro (host-based authentication). É instalado um arquivo pg_hba.conf padrão quando o diretório de dados é inicializado pelo utilitário initdb. Entretanto, é possível colocar o arquivo de configuração da autenticação em outro local;
    O formato geral do arquivo pg_hba.conf é um conjunto de registros, sendo um por linha. Cada registro especifica um tipo de conexão, uma faixa de endereços de IP de cliente (se for relevante para o tipo de conexão), um nome de banco de dados, um nome de usuário e o método de autenticação a ser utilizado nas conexões que correspondem a estes parâmetros. O registro pode ter um dos sete formatos a seguir:

    local     banco_de_dados usuário método_de_autenticação [opção_de_autenticação]host      banco_de_dados usuário endereço_de_CIDR método_de_autenticação [opção_de_autenticação]hostssl   banco_de_dados usuário endereço_de_CIDR método_de_autenticação [opção_de_autenticação]hostnossl banco_de_dados usuário endereço_de_CIDR método_de_autenticação [opção_de_autenticação]host      banco_de_dados usuário endereço_de_IP máscara_de_IP método_de_autenticação [opção_de_autenticação]hostssl   banco_de_dados usuário endereço_de_IP máscara_de_IP método_de_autenticação [opção_de_autenticação]hostnossl banco_de_dados usuário endereço_de_IP máscara_de_IP método_de_autenticação [opção_de_autenticação]

    Fonte: http://pgdocptbr.sourceforge.net/pg80/client-authentication.html
  • Quem não tem acesso:  - -> E

  • I - Correto. No PostgreSQL, a autenticação é controlada, por padrão, por um arquivo do sistema chamado pg_hba.conf. Esse arquivo contém, em cada uma de suas linhas, as informações de host, usuário, banco de dados e método de autenticação para cada um.

    II - Correto. Esse arquivo, por padrão, é armazenado no diretório de dados, mas isso pode ser alterado nas configurações do servidor. Aliás, lembre-se que o PostgreSQL é um sistema de código aberto, que, portanto, pode ser livremente modificado.

    III - Correto. HBA significa Host-based Authentication. O PostgreSQL realiza essa autenticação baseada em host (hospedeiro, em português), o que significa que é possível estabelecer métodos de autenticação específicos para conexões vindas de endereços de rede diferentes. Por exemplo, pode-se configurar um método de conexão reject para determinado endereço IP, o que garante que todas as conexões oriundas daquele endereço irão ser negadas.


ID
172669
Banca
FCC
Órgão
MPU
Ano
2007
Provas
Disciplina
Banco de Dados
Assuntos

Os tipos de dados numéricos disponibilizados pelo PostgreSQL, cujos tamanhos de armazenamento são variáveis, são denominados

Alternativas
Comentários
  • Tipos de dados 
    Integer: tamanho: 4byte
    numeric: tamanho: variável
    decimal: tamanho: variável
    smallint: tamanho: 2byte
  •  

    Name Storage Size Description Range
    smallint 2 bytes small-range integer -32768 to +32767
    integer 4 bytes usual choice for integer -2147483648 to +2147483647
    bigint 8 bytes large-range integer -9223372036854775808 to 9223372036854775807
    decimal variable user-specified precision, exact no limit
    numeric variable user-specified precision, exact no limit
    real 4 bytes variable-precision, inexact 6 decimal digits precision
    double precision 8 bytes variable-precision, inexact 15 decimal digits precision
    serial 4 bytes autoincrementing integer 1 to 2147483647
    bigserial 8 bytes large autoincrementing integer 1 to 9223372036854775807
  • https://www.postgresql.org/docs/9.1/static/datatype-numeric.html

  • Quem não tem acesso:  - -> B


ID
211075
Banca
CESPE / CEBRASPE
Órgão
MPU
Ano
2010
Provas
Disciplina
Banco de Dados
Assuntos

Acerca de SGBD Oracle, Postgres e MySQL, julgue os próximos
itens.

O PostgresSQL é um sistema de gerenciamento de banco de dados objeto-relacional (SGBDOR) de código aberto, tendo como linguagem procedural única de armazenagem o PL/SQL.

Alternativas
Comentários
  • Atualmente existem quatro linguagens procedurais disponíveis na distribuição padrão PostgreSQL: PL/pgSQL, PL/Tcl, PL/Perl  e PL/Python.

  • PL/SQL é a linguagem utilizada no Oracle.

  • Além das citadas pelo Renato Souza, há um certo número de línguagens procedurais que são desenvolvidas e mantidas fora da distribuição PostgreSQL. PL/Java, PL/PHP, PL/Py, PL/R, PL/Ruby, PL/Scheme, PL/sh.

  • Quem não tem acesso:  - -> Errado


ID
222316
Banca
FGV
Órgão
BADESC
Ano
2010
Provas
Disciplina
Banco de Dados
Assuntos

O SGBD PostgreSQL possui vários operadores que combinam o resultado de duas consultas em um único resultado e são denominados de operadores de conjuntos.

No intuito de usar estes operadores, são seguidas as seguintes regras.

I. As colunas correspondentes nos comandos SELECT devem ser do mesmo tipo de dados e o comando SELECT deve ter o mesmo número de colunas.
II. O comando SELECT deve ter o mesmo número de colunas e o nome da coluna do primeiro SELECT deve ser usado como cabeçalho.
III. O resultado do operador não possui qualquer linha duplicada, a menos que a cláusula ALL seja usada e o nome da coluna do primeiro SELECT usado como cabeçalho.

Assinale:

Alternativas
Comentários
  •  O operador UNION, por default, executa o equivalente a um SELECT DISTINCT no result set final. Em outras palavras, ele combina o resultado de execução das duas queries e então executa um SELECT DISTINCT a fim de eliminar as linhas duplicadas. Este processo é executado mesmo que não hajam registros duplicados.

    O operador UNION ALL tem a mesma funcionalidade do UNION, porém, não executa o SELECT DISTINCT no result set final e apresenta todas as linhas, inclusive as linhas duplicadas.

  • Se fosse CESPE, eu acho que o item II seria considerado errado, mas FGV...
    "O comando SELECT deve ter o mesmo número de colunas e o nome da coluna do primeiro SELECT deve ser usado como cabeçalho."
    Uma expressão SELECT pode utilizar um alias (apelido) usando "AS" nome_alias. O alias é usado como o nome da coluna. Ou seja, não é obrigatório o uso do nome da coluna como cabeçalho. [ segundo o dicionário Aurélio: DEVER = ter obrigação de ].
  • Questão mal formulada!

    O item I está errado! A afirmação não é verdadedeira: "devem ser do mesmo tipo de dados"

    As colunas devem ter tipos de dados compatíveis e não iguais: "Notice that each SELECT statement within the UNION must have the same number of columns. The columns must also have similar data types"

    http://www.w3schools.com/sql/sql_union.asp

  • Quem não tem acesso:  - -> E


ID
222319
Banca
FGV
Órgão
BADESC
Ano
2010
Provas
Disciplina
Banco de Dados
Assuntos

O operador EXCEPT de um comando SELECT da SQL do SGBD PostgreSQL tem por finalidade:

Alternativas
Comentários
  • De acordo com a documetação do postgre*:

    "The EXCEPT operator returns the rows that are in the first result set but not in the second"


    *http://www.postgresql.org/docs/8.1/static/sql-select.html
  • Quem não tem acesso:  - -> A

    SELECT category_id FROM products

    EXCEPT

    SELECT category_id FROM inventory;

    https://www.techonthenet.com/postgresql/except.php


ID
234373
Banca
NC-UFPR
Órgão
UFPR
Ano
2010
Provas
Disciplina
Banco de Dados
Assuntos

O PostgreSQL:

1. permite a criação de consultas usando simultaneamente várias bases de dados.

2. permite a geração de consultas pré-programadas através de stored procedures.

3. permite o armazenamento de dados binários através do campo tipo BYTEA.

Assinale a alternativa correta.

Alternativas
Comentários
  • Esse gabarito tá certo mesmo ??  letra  E??

     

    Desde quando o POSTGRES  não permite stored procedures e nem consultas em várias base de dados??w

  • É o MySQL que suporta consultas entre bancos de dados diferentes.
  • E em relação a afirmação 2?
    Segundo o site oficial do PostgreSQL ele possui Stored Procedures.
    http://www.postgresql.org/docs/8.0/interactive/plpgsql.html
  • Acho que a 2 está errada porque em PostgreSQL usa-se stored functions, não stored procedures.

    http://www.wikivs.com/wiki/MySQL_vs_PostgreSQL#Stored_Procedures
    http://en.wikipedia.org/wiki/Stored_procedures#Comparison_with_functions
  • Stored procedures são, normalmente, pequenos pedaços de código que ficam armazenados no lado do servidor de banco de dados. A construção desses pedaços de código é tida como uma boa prática por programadores que podem, por exemplo, deixar no lado do servidor códigos complexos que são utilizados por vários aplicativos, evitando a necessidade de replicá-los em cada um deles.

    Diferentemente de outros SGBDs que tratam os conceitos de procedimentos armazenados, gatilhos e funções como coisas distintas, o PostgreSQL trata todos eles como funções. Essas funções tem características diferentes, mas são todas criadas como funções ou functions.

  • Até dá para fazer consultas em múltiplas tabelas, porém é necessário instalar o modulo do dbLink.

    De forma nativa não é possível.

    Mais detalhes vejam este link.

  • Eu acho que a letra B é definição de Visões já que se fala de consultas armazenadas

  • The bytea data type allows storage of binary strings

  • a 2 se refere a Instruções preparadas (comando PREPARE), não a procedures


ID
309628
Banca
CESPE / CEBRASPE
Órgão
TJ-ES
Ano
2011
Provas
Disciplina
Banco de Dados
Assuntos

Acerca de instalação, configuração e desempenho dos bancos de
dados comerciais Oracle, MySQL ou PostgreSQL, julgue os itens
subsequentes.

Na instalação do PostgreSQL, é necessário especificar qual o tipo de mecanismo de armazenamento (storage engine) desejado, visto que esse gerenciador oferece diversos mecanismos de armazenamento, com diferentes funcionalidades (feature set) e níveis de desempenho.

Alternativas
Comentários
  • "PostgreSQL is a unified database server with a single storage engine. MySQL has two layers, an upper SQL layer and a set of storage engines. "

    http://www.wikivs.com/wiki/MySQL_vs_PostgreSQL
  • Arquitetura

    PostgreSQL é um servidor de banco de dados unificado com um mecanismo de armazenamento único. MySQL por sua vez já tem duas camadas, uma camada de SQL "superior" e um conjunto de motores de armazenamento na camada "inferior". Ao comparar os dois, é geralmente necessário especificar, quais mecanismos de armazenamento estão sendo usados ​​com o MySQL, porque isso afeta bastante o desempenho, adequação e a performance básica, não esquecendo respectivamente de sua disponibilidade de recursos. Os mecanismos de armazenamento (Engine) mais utilizados no MySQL são InnoDB para o quase completoACID como apoio ao alto desempenho em grandes cargas de trabalho e com muita concorrência e o MyISAM para cargas de trabalho menores de simultaneidade ou maior concorrência leitura principalmente cargas de trabalho que não necessitam de propriedades ACID. As aplicações podem combinar diversos mecanismos de armazenamento, conforme necessário podendo explorar as vantagens de cada um.


  • Quem não tem acesso:  - -> Errado


ID
309634
Banca
CESPE / CEBRASPE
Órgão
TJ-ES
Ano
2011
Provas
Disciplina
Banco de Dados
Assuntos

Acerca de instalação, configuração e desempenho dos bancos de
dados comerciais Oracle, MySQL ou PostgreSQL, julgue os itens
subsequentes.

Em PostgreSQL, um gatilho (trigger) pode executar qualquer função definida pelo usuário em uma de suas linguagens procedurais — Java, C, Perl, Python ou TCL —, além de por meio da linguagem SQL. Em MySQL, gatilhos são ativados por comandos SQL, mas não por APIs, já que estas não transmitem comandos SQL ao servidor MySQL.

Alternativas
Comentários

ID
319270
Banca
CESPE / CEBRASPE
Órgão
FUB
Ano
2011
Provas
Disciplina
Banco de Dados
Assuntos

Julgue os itens a seguir, relativos às características do PostgreSQL.

No PostgreSQL, o arquivo pg_hba.conf é o responsável pelo controle da autenticação de usuário.

Alternativas
Comentários
  • CERTA..

    A autenticação do cliente é controlada pelo arquivo que por tradição se chama pg_hba.conf e é armazenado no diretório de dados do agrupamento de bancos de dados. HBA significa autenticação baseada no hospedeiro (host-based authentication). É instalado um arquivo pg_hba.conf padrão quando o diretório de dados é inicializado pelo utilitário initdb. Entretanto, é possível colocar o arquivo de configuração da autenticação em outro local; consulte o parâmetro de configuração hba_file.

    O formato geral do arquivo pg_hba.conf é um conjunto de registros, sendo um por linha. As linhas em branco são ignoradas, da mesma forma que qualquer texto após o caractere de comentário #. Um registro é formado por vários campos separados por espaços ou tabulações. Os campos podem conter espaços em branco se o valor do campo estiver entre aspas. Os registros não podem ocupar mais de uma linha.

    Cada registro especifica um tipo de conexão, uma faixa de endereços de IP de cliente (se for relevante para o tipo de conexão), um nome de banco de dados, um nome de usuário e o método de autenticação a ser utilizado nas conexões que correspondem a estes parâmetros. O primeiro registro com o tipo de conexão, endereço do cliente, banco de dados solicitado e nome de usuário que corresponder é utilizado para realizar a autenticação. Não existe fall-through (procura exaustiva) ou backup: se um registro for escolhido e a autenticação não for bem-sucedida, os próximos registros não serão levados em consideração. Se não houver correspondência com nenhum registro, então o acesso é negado.

  • A autenticação dos clientes ou usuários é feita através de um arquivo localizado no diretório de dados do cluster, chamado pg_hba.conf. Este arquivo é composto de vários registros, onde cada registro determina o tipo de conexão e devem ser informados valores como: o nome do banco de dados, a faixa de endereços de IP de cliente e o método de autenticação a ser utilizado nas conexões que correspondem a estes parâmetros . Com a utilização deste arquivo que armazena os registros com os parâmetros necessários às autenticações é possível, por exemplo, determinar que um banco de dados possa ser acessado somente por um determinado usuário ou conjunto de usuários, informado ao registro. É possível também especificar os endereços IP ou a faixa de endereços IP que o registro corresponde, autorizando o acesso apenas a partir desses endereços.Portanto questão Certissíma.


ID
319273
Banca
CESPE / CEBRASPE
Órgão
FUB
Ano
2011
Provas
Disciplina
Banco de Dados
Assuntos

Julgue os itens a seguir, relativos às características do PostgreSQL.

O comando CREATE TABLE T1 () INHERITS (T2, T3) permite criar a tabela T1, a partir das estruturas de T2 e de T3; no entanto, caso existam nomes de colunas coincidentes nas tabelas T2 e T3 com tipos de dados diferentes, um erro será reportado e, consequentemente,a tabela T1 não será criada.

Alternativas
Comentários
  • Faz com que a classe atual ou interface herdem os atributos, variáveis, propriedades, procedimentos e eventos de uma outra classe ou conjunto de interfaces.
  • A cláusula INHERITS opcional especifica uma lista de tabelas das quais a nova tabela herda automaticamente todas as colunas.
     
    Uso de INHERITS cria uma relação persistente entre a nova tabela filho e sua tabela pai (s). As modificações de esquema para o pai (s) normalmente se propagam para filhos, bem como, e por padrão, os dados da tabela filho está incluída nos exames do pai (s).
     
    Se o nome da coluna existir em mais do que uma tabela pai, é comunicado um erro, a menos que os tipos de dados das colunas correspondem em cada uma das tabelas. Se não há conflito, então as colunas duplicadas são mescladas para formar uma única coluna da nova tabela. Se a lista de nomes de colunas da nova tabela contém um nome de coluna que também é herdado, o tipo de dados também deve coincidir com a coluna herdado (s), e as definições de coluna são fundidos em um. No entanto, herdada e novas declarações com o mesmo nome da coluna não precisam especificar restrições idênticas: todas as restrições fornecidas em qualquer declaração são mesclados e todos são aplicados para a nova tabela. Se a nova tabela especificar, explicitamente, um valor padrão para a coluna, este valor padrão substitui qualquer valor padrão das declarações herdadas da coluna. Caso contrário, todos os pais que especificam valores padrão para a coluna deve especificar o mesmo padrão, ou um erro será relatado.


    fonte:http://www.postgresql.org/docs/8.1/static/sql-createtable.html
  • Quem não tem acesso:  - -> CERTO


ID
319276
Banca
CESPE / CEBRASPE
Órgão
FUB
Ano
2011
Provas
Disciplina
Banco de Dados
Assuntos

Julgue os itens a seguir, relativos às características do PostgreSQL.

A fim de controlar a simultaneidade de transações no banco de dados, no PostgreSQL, é utilizado o modelo de bloqueios, que evita que sejam utilizados dados inconsistentes na transação.

Alternativas
Comentários
  • Diferentemente dos sistemas gerenciadores de banco de dados tradicionais, que usam bloqueios para controlar a simultaneidade, o PostgreSQL mantém a consistência dos dados utilizando o modelo multiversão (Multiversion Concurrency Control, MVCC)

    Fonte: http://pgdocptbr.sourceforge.net/pg80/mvcc.html
  • Diferentemente dos sistemas gerenciadores de banco de dados tradicionais, que usam bloqueios para controlar a simultaneidade, o PostgreSQL mantém a consistência dos dados utilizando o modelo multiversão (Multiversion Concurrency Control, MVCC). Isto significa que, ao consultar o banco de dados cada transação enxerga um instantâneo (snapshot) dos dados (uma versão do banco de dados) como estes eram há um tempo atrás, sem levar em consideração o estado corrente dos dados subjacentes. Este modelo protege a transação contra enxergar dados inconsistentes, o que poderia ser causado por atualizações feitas por transações simultâneas nas mesmas linhas de dados, fornecendo um isolamento da transação para cada sessão do banco de dados.

    A principal vantagem de utilizar o modelo de controle de simultaneidade MVCC em vez de bloqueios é que, no MVCC os bloqueios obtidos para consultar dados (leitura) não conflitam com os bloqueios obtidos para escrever dados e, portanto, a leitura nunca bloqueia a escrita, e a escrita nunca bloqueia a leitura.

    Também estão disponíveis no PostgreSQL as funcionalidades de bloqueio no nível de tabela e de linha, para aplicativos que não podem se adaptar facilmente ao comportamentoMVCC. Entretanto, a utilização apropriada do MVCC geralmente produz um desempenho melhor que os bloqueios.

  • Quem não tem acesso:  - -> Errado


ID
319279
Banca
CESPE / CEBRASPE
Órgão
FUB
Ano
2011
Provas
Disciplina
Banco de Dados
Assuntos

Julgue os itens a seguir, relativos às características do PostgreSQL.

Na versão 8 do PostgreSQL, o agrupamento de bancos de dados (database cluster) é gerenciado por uma única instância de um servidor de banco de dados em execução; contudo, os dados do agrupamento são armazenados em vários diretórios de dados no sistema operacional.

Alternativas
Comentários
  • ERRO: armazenados em vários diretórios de dados no sistema operacional

    "...In file system terms, a database cluster will be a single directory under which all data will be stored..."

    http://www.postgresql.org/docs/7.4/static/creating-cluster.html

  • fui de errado por entender que cada banco tem o seu subdiretório


ID
319282
Banca
CESPE / CEBRASPE
Órgão
FUB
Ano
2011
Provas
Disciplina
Banco de Dados
Assuntos

Julgue os itens a seguir, relativos às características do PostgreSQL.

Caso, ao se iniciar o servidor PostgreSQL (Postmaster), ocorra o erro could not create shared memory segment. Invalid argument, uma possível solução seria verificar se o núcleo do sistema operacional está configurado para dar suporte à memória compartilhada no estilo System-V.

Alternativas
Comentários

  • A message like:

    FATAL:  could not create shared memory segment: Invalid argumentDETAIL:  Failed system call was shmget(key=5440001, size=4011376640, 03600).

    probably means your kernel's limit on the size of shared memory is smaller than the work area PostgreSQL is trying to create (4011376640 bytes in this example). Or it could mean that you do not have System-V-style shared memory support configured into your kernel at all. As a temporary workaround, you can try starting the server with a smaller-than-normal number of buffers (shared_buffers). You will eventually want to reconfigure your kernel to increase the allowed shared memory size. You might also see this message when trying to start multiple servers on the same machine, if their total space requested exceeds the kernel limit.


    fonte:http://www.postgresql.org/docs/9.2/static/server-start.html
  • -- Tradução da mensagem FATAL: não foi possível criar o segmento de memória compartilhada: Argumento inválido.

    Provavelmente significa que o limite para o tamanho da memória compartilhada do núcleo (kernel) é menor que a área de trabalho que o PostgreSQL está tentando criar (4011376640 bytes neste exemplo). Pode significar, também, que o núcleo não está configurado para dar suporte a memória compartilhada no estilo System-V. Como recurso temporário pode-se tentar inicializar o servidor com um número de buffers menor que o número normal (sinalizador -B). Mais tarde poderá ser necessário reconfigurar o núcleo para aumentar o tamanho de memória compartilhada permitido. Esta mensagem também pode ser vista quando se tenta inicializar vários servidores na mesma máquina, quando o espaço total requisitado excede o limite do núcleo.

  • Quem não tem acesso:  - -> CERTO


ID
320533
Banca
CESPE / CEBRASPE
Órgão
INMETRO
Ano
2010
Provas
Disciplina
Banco de Dados
Assuntos

Acerca de backup, recuperação, administração, configuração, tunning e detecção de problemas em banco de dados, assinale a opção correta.

Alternativas

ID
328930
Banca
FGV
Órgão
DETRAN-RN
Ano
2010
Provas
Disciplina
Banco de Dados
Assuntos

Qual parâmetro deve ser usado na instalação de um servidor de banco de dados PostgreSQL, para poder utilizar a linguagem Perl na criação de funções?

Alternativas
Comentários
  • Quem não tem acesso:  - -> C


ID
328933
Banca
FGV
Órgão
DETRAN-RN
Ano
2010
Provas
Disciplina
Banco de Dados
Assuntos

Assinale o comando que deve ser usado para executar os testes de regressão antes de instalar um servidor PostgreSQL:

Alternativas
Comentários
  • Quem não tem acesso:  - -> B

  • Letra b

    The regression tests can be run against an already installed and running server, or using a temporary installation within the build tree. Furthermore, there is a "parallel" and a "sequential" mode for running the tests. The sequential method runs each test script in turn, whereas the parallel method starts up multiple server processes to run groups of tests in parallel. Parallel testing gives confidence that interprocess communication and locking are working correctly. For historical reasons, the sequential test is usually run against an existing installation and the parallel method against a temporary installation, but there are no technical reasons for this.

    To run the regression tests after building but before installation, type:

    gmake check

    To run the tests after installation (see Chapter 15), initialize a data area and start the server, as explained in Chapter 17, then type:

    gmake installcheck

    or for a parallel test:

    gmake installcheck-parallel

    https://www.postgresql.org/docs/8.4/regress-run.html


ID
449956
Banca
FGV
Órgão
MEC
Ano
2009
Provas
Disciplina
Banco de Dados
Assuntos

Um DBA criou uma tabela em um Banco de Dados no postgreSQL 8.3 utilizando o comando
CREATE TABLE mec (
cidade varchar(80),
temp_baixa int,
temp_alta int,
nivel_precip real,
data date
Para o comando que insere dados na tabela mec, é usada a seguinte sintaxe:

Alternativas
Comentários
  • A instrução INSERT INTO é utilizado para inserir uma nova linha em uma tabela.

    SQL INSERT INTO Sintaxe

    É possível escrever a instrução INSERT INTO em duas formas.

    A primeira forma não especifica os nomes das colunas onde os dados serão inseridos, apenas os seus valores:

    INSERT INTO table_name
    VALUES (value1, value2, value3,...)

    A segunda forma especifica tanto os nomes das colunas e os valores a serem inseridos:

    INSERT INTO table_name (column1, column2, column3,...)
    VALUES (value1, value2, value3,...)
    Fonte: http://www.w3schools.com/sql/sql_insert.asp 
  • Quem não tem acesso:  - -> E


ID
515773
Banca
FCC
Órgão
INFRAERO
Ano
2011
Provas
Disciplina
Banco de Dados
Assuntos

No PostgreSQL, quando da atribuição de privilégios, para criar uma tabela com restrição de chave estrangeira, é necessário possuir, também na tabela com a chave referenciada, o privilégio

Alternativas
Comentários
  • GRANT { { SELECT | INSERT | UPDATE | DELETE | TRUNCATE | REFERENCES | TRIGGER }    [, ...] | ALL [ PRIVILEGES ] }    
    ON { [ TABLE ] table_name [, ...]     | ALL TABLES IN SCHEMA schema_name [, ...] }    
    TO { [ GROUP ] role_name | PUBLIC } [, ...] [ WITH GRANT OPTION ]
     
    REFERENCES
    To create a foreign key constraint, it is necessary to have this privilege on both the referencing and referenced columns. The privilege may be granted for all columns of a table, or just specific columns.
     
     
    http://www.postgresql.org/docs/9.1/static/sql-grant.html
  • CREATE TABLE alocacaos
    (
      id integer NOT NULL DEFAULT,
      ar character varying(20) NOT NULL,
      operador character varying(30),
      n_lote integer,
     cartao_id integer
    )
      CONSTRAINT alocacaos_pkey PRIMARY KEY (id),
      CONSTRAINT fk_cartao FOREIGN KEY (cartao_id)       
      REFERENCES cartaos (id) MATCH SIMPLE 
      ON UPDATE NO ACTION ON DELETE NO ACTION
    )
  • REFERENCE

    Para criar uma restrição de chave estrangeira, é necessário ter este privilégio, tanto faz a referência e colunas referenciadas. O privilégio pode ser concedido para todas as colunas de uma tabela ou colunas específicas apenas.


  • O conceito da questão, em si, é fácil, mas o enunciado muito confuso. 

  • Quem não tem acesso:  - -> A


ID
598480
Banca
CESPE / CEBRASPE
Órgão
EBC
Ano
2011
Provas
Disciplina
Banco de Dados
Assuntos

Considerando que um SGBD é um pacote de software para a implementação e manutenção de bancos de dados computacionais, julgue os itens a seguir.

Considerando-se bases de dados muito grandes, o MySQL é mais rápido que o PostgreSQL; entretanto, o PostgreSQL oferece uma série de recursos extras que o tornam especializado em operações complexas.

Alternativas
Comentários

ID
598486
Banca
CESPE / CEBRASPE
Órgão
EBC
Ano
2011
Provas
Disciplina
Banco de Dados
Assuntos

Considerando que um SGBD é um pacote de software para a implementação e manutenção de bancos de dados computacionais, julgue os itens a seguir.

PostgreSQL e MySQL são exemplos de SGBD que executam em ambiente Linux e Windows.

Alternativas
Comentários
  • PostgreSQL para Windows http://www.postgresql.org/download/windows/
    Mysql para Windows http://www.mysql.com/downloads/mysql/
  • Confundi com o pgAdmin.


    "O pgAdmin é um software gráfico para administração do SGBD PostgreSQL disponível

    para Windows e UNIX."

  • Questão tranquila!

    Gabarito: Certo




  • (C)

    Sistema Gerenciador de Banco De Dados(SGBD): Coleção de programas para ajudar a manter um banco de dados.(Acesso,Backup..)

    Proprietários: Oracle,IBM,DBZ...

    Free: PostgreSQL, Maria DB...


ID
620416
Banca
IADES
Órgão
CFA
Ano
2010
Provas
Disciplina
Banco de Dados
Assuntos

O PostgreSQL é um banco de dados relacional e orientado a objetos. Seu grande triunfo é possuir recursos comuns a banco de dados de grande porte, o que o deixa apto a trabalhar, inclusive, com operações de missão crítica. Além disso, trata-se de um banco de dados versátil, seguro e gratuito. Assinale a alternativa incorreta sobre o PostgreSQL.

Alternativas
Comentários
  • D está duplamente errada:

    1. O PostgreSQL não obriga chave primária

    2. Não é obrigatória uma chave primária em tabelas de bancos de dados relacionais

     

  • Existe a entidade fraca, que não possui atributo chave.

  • Gabarito D

    Alguns termos como "obriga" já entrega a questão.



    "Retroceder Nunca Render-se Jamais !"

    Força e Fé !

    Fortuna Audaces Sequitur !


ID
661897
Banca
FCC
Órgão
INFRAERO
Ano
2011
Provas
Disciplina
Banco de Dados
Assuntos

Dada a função em PostGreSQL:

                  substring('ABCX454545DEF' from 'A[^0-9]*([0-9]{1,3})')

Após a sua execução, o resultado será:

Alternativas
Comentários
  • Passos da expressão regular:

    1. Texto inicial: ABCX454545DEF

    2. A: recupere todos os caracteres a partir do caractere 'A'. Resultado: BCX454545DEF

    3. [^0-9]*: recupere todos os caracteres numéricos entre 0 a 9. Resultado: 454545

    4. ([0-9]{1,3}): recupere as três primeiras posições somente de carecteres numéricos entre 0 a 9. Resultado: 454

  • Quem não tem acesso:  - -> C


ID
704263
Banca
CESPE / CEBRASPE
Órgão
MPE-PI
Ano
2012
Provas
Disciplina
Banco de Dados
Assuntos

Acerca de conceitos, fundamentos, instalação, administração,
configuração, comandos, performance e detecção de problemas do
ORACLE, do POSTGRES e do MYSQL, julgue os itens seguintes.

No POSTGRES SQL, assim como no MYSQL, o comando revoke pode ser emitido apenas pelo usuário que tenha emitido os comandos grant correspondentes.

Alternativas
Comentários
  • Tanto no POSTGRES SQL quanto no MYSQL, o comando REVOKE pode ser usado por qualquer usuário que tenha recebido o GRANT correspondente.
    POSTGRESS: http://www.postgresql.org/docs/9.0/static/sql-grant.html
    MYSQL: http://dev.mysql.com/doc/refman/5.1/en/grant.html
  • No POSTGRES SQL existe a possibilidade do comando REVOKE ser executado por outros usuários diferentes daquele que executou o GRANT, como por exemplo, o superuser ou um usuário membro de um role que possua o objeto em questão (ou que possua a opção WITH GRANT OPTION). O mesmo acontece no MySQL.
  • REVOKE -- revoga privilégios de acesso

    GRANT
     -- define privilégios de acesso
  • Quem não tem acesso:  - -> Errado


ID
708967
Banca
FCC
Órgão
MPE-PE
Ano
2012
Provas
Disciplina
Banco de Dados
Assuntos

No banco de dados PostgreSQL, a função COALESCE

Alternativas
Comentários
  • COALESCE retorna a primeira coluna NÃO nula do conjunto selecionado. Veja exemplo abaixo.
    Name Business_Phone Cell_Phone Home_Phone
    Jeff 531-2531 622-7813 565-9901
    Laura NULL 772-5588 312-4088
    Peter NULL NULL 594-7477
    SELECT Name, COALESCE(Business_Phone, Cell_Phone, Home_Phone) Contact_Phone
    FROM Contact_Info;

    Resultado:
    Name Contact_Phone
    Jeff 531-2531
    Laura 772-5588
    Peter 594-7477
  • Lembro que essa função também pode ser usada para substituição de null por outra coisa como 0 por exemplo. Semelhante ao NVL() ou IFNULL()

    SELECT ProductName,UnitPrice*(UnitsInStock+COALESCE(UnitsOnOrder,0))
    FROM Products 
    Vai substituir tudo que for null em UnitsOnOrder por 0

    fonte:
    http://220.225.90.157/somnath/SQL/sql_isnull.asp.htm
    http://www.postgresql.org/docs/8.1/static/functions-conditional.html
  • Sintaxe: COALESCE(expression1,…n)

    O coalesce analisa o primeiro parâmetro, caso esse parâmetro seja null então ele analise o segundo parâmetro, caso o segundo seja diferente de null ele retorna o valor do mesmo, senão ele analisa o próximo parâmetro até que um dos parâmetros seja diferente de null ou não haja mais parâmetros para analisar.

    Exemplo:

    MySQL

    SELECT coalesce(null, 1)

    Resultado: 1

    SELECT coalesce (null, null, 2)

    Resultado: 2

    SELECT coalesce (null, null, null)

    Resultado: null

    Os parâmetros podem receber valores “fixos” e campos:
    SELECT coalesce(vlr_pedido, 0) FROM tabela_pedidos

    Ou seja,  no exemplo acima caso o campo vlr_pedido seja NULL então será retornado o valor do segundo parâmetro, no caso, “0″. Senão será retornado o valor presente no campo “vlr_pedido”.

    Lembrando que o coalesce funciona tanto no MySQL bem como no PostgreSQL, no Oracle,  no SQL Server.

    Lembrando também que os tipos devem ser iguais. Se forem diferentes retorna:
    ERRO:  tipos no COALESCE integer e character varying não podem corresponder
     

  • A função COALESCE retorna o primeiro de seus argumentos que não for nulo. Só retorna nulo quando todos os seus argumentos são nulos. Geralmente é útil para substituir o valor padrão quando este é o valor nulo, quando os dados são usados para exibição.


ID
709390
Banca
FCC
Órgão
MPE-PE
Ano
2012
Provas
Disciplina
Banco de Dados
Assuntos

Em PostgreSQL, um conjunto de funções e expressões estão disponíveis para a geração de arquivos XML. A função, similar a função xmlconcat, que concatena as colunas xml entre linhas de uma tabela é denominada de

Alternativas
Comentários
  • d) xmlagg.
    fonte: http://www.postgresql.org/docs/devel/static/functions-xml.html
  • A função XMLAgg é uma função de agregação. Ele concatena os valores de entrada para a chamada de função agregada, bem como XMLCONCAT faz, exceto que concatenação ocorre em linhas, em vez de através de expressões em uma única linha.


ID
753211
Banca
FCC
Órgão
MPE-AP
Ano
2012
Provas
Disciplina
Banco de Dados
Assuntos

No banco de dados PostgreSQL, o comando MOVE é utilizado para reposicionar

Alternativas
Comentários
  • O comando MOVE reposiciona o cursor sem trazer dados. O comando MOVE funciona exatamente como o comando FETCH, exceto que apenas posiciona o cursor sem retornar linhas.

    Para obter detalhes sobre a sintaxe e utilização deve ser consultado o comando FETCH.

  • O comando MOVE reposiciona o cursor sem trazer dados. O comando MOVE funciona exatamente como o comando FETCH, exceto que apenas posiciona o cursor sem retornar linhas.

    Fonte: http://pgdocptbr.sourceforge.net/pg82/sql-move.html
  • Letra D.

    Comandos SQL suportados pelo PostgreSQL.

    http://pgdocptbr.sourceforge.net/pg82/sql-commands.html


ID
753220
Banca
FCC
Órgão
MPE-AP
Ano
2012
Provas
Disciplina
Banco de Dados
Assuntos

No banco de dados PostgreSQL, o comando utilizado para efetivar a transação corrente é chamado

Alternativas
Comentários
  • O comando END efetiva a transação corrente. Todas as modificações efetuadas pela transação se tornam visíveis para os outros, e existe a garantia de permanecerem se uma falha ocorrer. Este comando é uma extensão do PostgreSQL equivalente ao COMMIT.
  • END -- efetiva a transação corrente
    ROLLBACK -- interrompe a transação corrente
    TRANSFER -- Não existe no PG
    EFFECTIVE -- Não existe no PG

    SELECT -- retorna linhas de uma tabela ou de uma visão

    Fonte:
    http://pgdocptbr.sourceforge.net/pg82/sql-commands.html
  • E lembrando que BEGIN; END; são sempre implícitos em queries que não as tenham - http://www.postgresql.org/docs/9.0/static/sql-begin.html

    BEGIN initiates a transaction block, that is, all statements after a BEGIN command will be executed in a single transaction until an explicit COMMIT or ROLLBACK is given. By default (without BEGIN), PostgreSQL executes transactions in "autocommit" mode, that is, each statement is executed in its own transaction and a commit is implicitly performed at the end of the statement (if execution was successful, otherwise a rollback is done).

  • Quem não tem acesso:  - -> A


ID
754072
Banca
FCC
Órgão
MPE-AP
Ano
2012
Provas
Disciplina
Banco de Dados
Assuntos

Em bancos de dados PostgreSQL, o comando DECLARE é utilizado para

Alternativas
Comentários
  • O comando DECLARE permite o usuário criar cursores, que podem ser utilizados para retornar, de cada vez, um pequeno número de linhas de uma consulta grande. Os cursores podem retornar dados tanto no formato texto quanto binário através do comando FETCH.
  • O comando DECLARE permite o usuário criar cursores, que podem ser utilizados para retornar, de cada vez, um pequeno número de linhas de uma consulta grande. Os cursores podem retornar dados tanto no formato texto quanto binário através do comando FETCH.

    Fonte: 
    http://pgdocptbr.sourceforge.net/pg82/sql-declare.html
  • Quem não tem acesso:  - -> B


ID
754075
Banca
FCC
Órgão
MPE-AP
Ano
2012
Provas
Disciplina
Banco de Dados
Assuntos

Quando o nível de isolamento de uma transação em SQL no banco de dados PostgreSQL é definido como serializável (Serializable), o comando SELECT enxerga apenas os dados efetivados

Alternativas
Comentários
  • A transação poderá ver apenas os dados já efetivados no banco antes do início da execução da transação. Isto é, não poderá por exemplo ler dados inseridos após o seu início.
  • 12.2.2. Nível de isolamento serializável

    Quando uma transação está no nível serializável, o comando SELECT enxerga apenas os dados efetivados antes da transação começar; nunca enxerga dados não efetivados ou alterações efetivadas durante a execução da transação por transações simultâneas (Entretanto, o comando SELECT enxerga os efeitos das atualizações anteriores executadas dentro da sua própria transação, mesmo que ainda não tenham sido efetivadas). É diferente do Read Committed, porque o comando SELECT enxerga um instantâneo do momento de início da transação, e não do momento de início do comando corrente dentro da transação. Portanto, comandos SELECT sucessivos dentro de uma mesma transação sempre enxergam os mesmos dados.

    Fonte: 
    http://pgdocptbr.sourceforge.net/pg80/transaction-iso.html
  • Isolamento da Transação

    O padrão SQL define quatro níveis de isolamento de transação em termos de três fenômenos que devem ser evitados entre transações simultâneas. Os fenômenos não desejados são:

    dirty read (leitura suja)

    A transação lê dados escritos por uma transação simultânea não efetivada (uncommitted). [1]

    nonrepeatable read (leitura que não pode ser repetida)

    A transação lê novamente dados lidos anteriormente, e descobre que os dados foram alterados por outra transação (que os efetivou após ter sido feita a leitura anterior).

    phantom read (leitura fantasma)

    A transação executa uma segunda vez uma consulta que retorna um conjunto de linhas que satisfazem uma determinada condição de procura, e descobre que o conjunto de linhas que satisfazem a condição é diferente por causa de uma outra transação efetivada recentemente.

    Os quatro níveis de isolamento de transação, e seus comportamentos correspondentes, estão descritos na Tabela 12-1.

    Tabela 12-1. Níveis de isolamento da transação no SQL

    Nível de isolamento Dirty Read Nonrepeatable Read Phantom Read
    Read uncommitted Possível Possível Possível
    Read committed Impossível Possível Possível
    Repeatable read Impossível Impossível Possível
    Serializable Impossível Impossível Impossível
  • Read Committed (lê efetivado) é o nível de isolamento padrão do PostgreSQL. Quando uma transação processa sob este nível de isolamento, o comando SELECT enxerga apenas os dados efetivados antes da consulta começar; nunca enxerga dados não efetivados, ou as alterações efetivadas pelas transações simultâneas durante a execução da consulta (Entretanto, o SELECT enxerga os efeitos das atualizações anteriores executadas dentro da sua própria transação, mesmo que ainda não tenham sido efetivadas). Na verdade, o comando SELECT enxerga um instantâneo do banco de dados, como este era no instante em que a consulta começou a executar. Deve ser observado que dois comandos SELECTsucessivos podem enxergar dados diferentes, mesmo estando dentro da mesma transação, se outras transações efetivarem alterações durante a execução do primeiro comandoSELECT.
     

    O nível Serializable fornece o isolamento de transação mais rigoroso. Este nível emula a execução serial das transações, como se todas as transações fossem executadas uma após a outra, em série, em vez de simultaneamente. Entretanto, os aplicativos que utilizam este nível de isolamento devem estar preparados para tentar executar novamente as transações, devido a falhas de serialização.

    Quando uma transação está no nível serializável, o comando SELECT enxerga apenas os dados efetivados antes da transação começar; nunca enxerga dados não efetivados ou alterações efetivadas durante a execução da transação por transações simultâneas (Entretanto, o comando SELECT enxerga os efeitos das atualizações anteriores executadas dentro da sua própria transação, mesmo que ainda não tenham sido efetivadas). É diferente do Read Committed, porque o comando SELECT enxerga um instantâneo do momento de início da transação, e não do momento de início do comando corrente dentro da transação. Portanto, comandos SELECT sucessivos dentro de uma mesma transação sempre enxergam os mesmos dados.

  • Quem não tem acesso:  - -> D


ID
762157
Banca
FCC
Órgão
TCE-AM
Ano
2012
Provas
Disciplina
Banco de Dados
Assuntos

Sobre os fundamentos arquiteturais do banco de dados PostgreSQL, considere:

I. Utiliza um modelo cliente/servidor, consistindo de um processo servidor que gerencia os arquivos do banco de dados, controla as conexões dos clientes ao banco dados e efetua ações no banco de dados em favor dos clientes.

II. A aplicação cliente, que irá efetuar as operações no banco de dados, poderá ser de diversas naturezas, como uma ferramenta em modo texto, uma aplicação gráfica, um servidor web que acessa o banco de dados para exibir as páginas ou uma ferramenta de manutenção especializada.

III. A aplicação cliente pode estar localizada em uma máquina diferente da máquina em que o servidor está instalado. Neste caso, a comunicação entre ambos é efetuada por uma conexão TCP/IP. O servidor pode aceitar diferentes conexões dos clientes ao mesmo tempo.

Está correto o que se afirma em

Alternativas
Comentários
    •  a) I, II e III.

  • Pessoal, na alternativa I está dizendo que o processo servidor é quem efetua as ações no banco de dados em favor dos clientes. Já na alternativa II, diz o contrário, que o cliente é quem efetua as ações. Achei incoerente... Alguém consegue esclarecer? Obrigada!

  • Priscila, a alternativa II não diz o contrário, ela considera o cliente como:
    - uma aplicação gráfica (como uma aplicação Java que opera a base de dados com uma interface gráfica que possa ser a swing mesmo);
    - uma ferramenta modo texto (psql);
    - um servidor web (qualquer site que acesse uma base postgre pelo seu servidor, pode considerar também phpPgAdmin);
    - e também uma ferramenta de manutenção especializada (PGAdmin, PGAcess, etc.).
    Portanto, a alternativa está correta.

    O que pode causar confusão é você pensar em cliente com a parte HTML de um site, que é a parte cliente de um website. Para o PostgreSQL, o servidor do site é considerado um cliente e não o HTML, mas ali ele considera apenas a parte de servidor.

  • Questão tirada das páginas iniciais da documentação do PostgreSQL: http://www.postgresql.org/docs/9.1/static/tutorial-arch.html

  • "A aplicação cliente, que irá efetuar as operações no banco de dados."

     

    O cliente faz operações no banco de dados? Pensei que o cliente só fizesse a solicitação, para, aí sim, o banco de dados realizar o processamento.

  • Todas afirmativas estão corretas.


ID
762178
Banca
FCC
Órgão
TCE-AM
Ano
2012
Provas
Disciplina
Banco de Dados
Assuntos

Em PostgreSQL, a função que converte a primeira letra da string informada em letra maiúscula, alterando todas as letras subsequentes dessa string para minúsculas se chama

Alternativas
Comentários

  • Convert the first letter of each word to upper case and the rest to lower case. Words are sequences of alphanumeric characters separated by non-alphanumeric characters. initcap('hi THOMAS') Hi Thomas
    Função:initcap

    Essa e outras acessem ai:


    http://www.postgresql.org/docs/9.0/static/functions-string.html
  • Lembrando que é a mesma coisa para oracle
  • concursos=# select * from testetable;

     testcolumn |  description   

    ------------+----------------

              1 | concurso trt13

    (1 row)

    concursos=# select initcap(description) from testetable;

        initcap     

    ----------------

     Concurso Trt13

    (1 row)

    concursos=# 

  • Meu Deus... isso lá é pergunta para concurso.

  • initcap: Converte a primeira letra de cada palavra em maiúscula e as demais em minúsculas. As palavras são sequências de caracteres alfanuméricos separadas por caracteres não alfanuméricos.

  • Aprendi essa no PLSQL, ainda bem que os comandos são parecidos :)=.


ID
771130
Banca
CESPE / CEBRASPE
Órgão
Banco da Amazônia
Ano
2012
Provas
Disciplina
Banco de Dados
Assuntos

A respeito da instalação do sistema de gerenciamento de banco de dados (SGBD) Postegree SQL 9.1 em sistemas Linux, que necessita ser feita manualmente em alguns casos, julgue os itens a seguir.

Para uma instalação básica, após a verificação de alguns requisitos básicos e a descompactação do pacote de software, o comando configure deve ser executado no diretório em que o software tiver sido descompactado.

Alternativas
Comentários
  • Quem não tem acesso:  - -> CERTO


ID
771133
Banca
CESPE / CEBRASPE
Órgão
Banco da Amazônia
Ano
2012
Provas
Disciplina
Banco de Dados
Assuntos

A respeito da instalação do sistema de gerenciamento de banco de dados (SGBD) Postegree SQL 9.1 em sistemas Linux, que necessita ser feita manualmente em alguns casos, julgue os itens a seguir.

Quando se utiliza um compilador GNU Make, os comandos gmake, gmake check e gmake install  são utilizados, respectivamente, para se compilar o sistema, fazer a checagem do sistema e instalar o sistema com a configuração padrão. Para executar o comando gmake check o usuário deverá ter privilégios de superusuário.

Alternativas
Comentários
  • Não há a necessidade de permissão de superusuário pois o comando make check simplismente vai verficar se o sistema está de acordo com os pré-requisitos do software a ser instalado, como por exemplo shared library e arquivos de configuração.

  • Quem não tem acesso:  - -> Errado


ID
783676
Banca
CESPE / CEBRASPE
Órgão
MEC
Ano
2011
Provas
Disciplina
Banco de Dados
Assuntos

                                                       tabela cliente
                                               fname        lname       age
                                                Paulo          Silva          53 
                                                 Dara       Carvalho       15 
                                                Fátima         Silva          57

Tendo como referência a tabela acima, julgue o  item  seguinte, referente a SQL.



O comando SQL mostrado abaixo, construído a partir dos dados da tabela cliente e executado no PostgreSQL 8.2, retornará apenas um registro, concatenando os atributos fname e lname.
SELECT fname+lname FROM cliente WHERE age >56

Alternativas
Comentários
  • usar CONCAT(fname,lname) ou ||


    SELECT CONCAT(fname,lname) FROM cliente WHERE age >56

  • Quem não tem acesso:  - -> Errado


ID
784270
Banca
CESPE / CEBRASPE
Órgão
MEC
Ano
2011
Provas
Disciplina
Banco de Dados
Assuntos

Julgue o   próximo  item , relativo  a PostgreSQL. 

O postmaster é o servidor de banco de dados multiusuário do PostgreSQL e, para um aplicativo cliente acessar um banco de dados, ele deve conectar-se ao postmaster, para então iniciar um processo servidor separado (postgres) para tratar a conexão.

Alternativas
Comentários
  • questão do cespe  ctrl c ctrl v

    https://translate.google.com.br/translate?hl=pt-BR&sl=en&u=http://www.postgresql.org/docs/8.1/static/app-postmaster.html&prev=search
  • Quem não tem acesso:  - -> CERTO


ID
784273
Banca
CESPE / CEBRASPE
Órgão
MEC
Ano
2011
Provas
Disciplina
Banco de Dados
Assuntos

Julgue o   próximo  item , relativo  a PostgreSQL. 

Está correta a ordem de precedência dos operadores elencados na tabela abaixo.


                      ordem      operador/elemento       descrição
                          1°                   NOTNULL            teste de não nulo 
                          2°                   ISNULL                 teste de nulo
                          3°                       IS                       IS TRUE, IS  FALSE, IS UNKNOWN, IS NULL

Alternativas
Comentários
  • A tabela está invertida.

    Segundo a documentação a ordem é IS, ISNULL, NOTNULL.

     

    https://www.postgresql.org/docs/7.2/static/sql-precedence.html

  • Quem não tem acesso:  - -> Errado


ID
784276
Banca
CESPE / CEBRASPE
Órgão
MEC
Ano
2011
Provas
Disciplina
Banco de Dados
Assuntos

Julgue o   próximo  item , relativo  a PostgreSQL. 

É possível adiar a reconfiguração do núcleo do PostgreSQL diminuindo-se os shared_buffers, para reduzir o consumo de memória compartilhada e(ou) reduzindo-se max_connections, para diminuir o consumo de semáforos.

Alternativas
Comentários
  • Quem não tem acesso:  - -> CERTO

  • mano, WTF


ID
784282
Banca
CESPE / CEBRASPE
Órgão
MEC
Ano
2011
Provas
Disciplina
Banco de Dados
Assuntos

Julgue o  item   subsequente, relativo  ao EnterpriseDB.

O Postgres Plus Advanced Server da EnterpriseDB pode executar aplicações escritas para bancos de dados Oracle, por intermédio do núcleo do PostgreSQL modificado, para reconhecer Oracle PL/SQL.

Alternativas
Comentários
  • Quem não tem acesso:  - -> CERTO


ID
826315
Banca
VUNESP
Órgão
SPTrans
Ano
2012
Provas
Disciplina
Banco de Dados
Assuntos

Em uma instalação de servidor de banco de Dados PostgreSQL, não é aconselhável utilizar a conta de usuário__________ para executar seu deamon (processo de servidor), pois em sistemas proprietários podem modificar seus próprios binários.

A lacuna do texto deve ser corretamente preenchida por:

Alternativas
Comentários
  • As with any server daemon that is accessible to the outside world, it is advisable to run PostgreSQL under a separate user account. This user account should only own the data that is managed by the server, and should not be shared with other daemons. (For example, using the user nobody is a bad idea.) It is not advisable to install executables owned by this user because compromised systems could then modify their own binaries. Documentation PostgreSQL 17.1 User Account.
  • Quem não tem acesso:  - -> C

    Me lembrei de Game Of Thrones, - quem é você? ninguém!

    Valar Morghulis


ID
826318
Banca
VUNESP
Órgão
SPTrans
Ano
2012
Provas
Disciplina
Banco de Dados
Assuntos

Para fazer com que o servidor PostgreSQL não aceite novas conexões e pare por completo, após a última conexão se fechar, utiliza-se o sinal

Alternativas
Comentários
  • Existem várias formas de parar o servidor de banco de dados. O tipo de parada pode ser controlado através do envio de sinais diferentes para o processo postmaster.
    -SIGTERM
    Após receber o sinal SIGTERM o servidor não aceita novas conexões, mas deixa as sessões existentes trabalharem normalmente. A parada é realizada apenas depois de todas as sessões terminarem normalmente. Esta é a Parada Esperta (Smart Shutdown).
    -SIGINT
    O servidor não aceita novas conexões e envia para todos os processos servidores existentes o sinal SIGTERM, fazendo com que estes interrompam suas transações correntes e terminem imediatamente. Depois aguarda os processos servidor saírem e, finalmente, pára. Esta é a Parada Rápida (Fast Shutdown).
    -SIGQUIT
    Esta é a Parada Imediata (Immediate Shutdown), que faz o processo postmaster enviar um sinal SIGQUIT para todos os processos descendentes e sair imediatamente, sem parar de forma apropriada. Da mesma maneira, os processos descendentes saem imediatamente após receber o sinal SIGQUIT. Provoca uma recuperação (refaz o log do WAL) na próxima inicialização. Somente é recomendado em caso de emergência.

  • Quem não tem acesso:  - -> D


ID
826321
Banca
VUNESP
Órgão
SPTrans
Ano
2012
Provas
Disciplina
Banco de Dados
Assuntos

Por padrão, o arquivo que controla a autenticação dos usuários no PostgreSQL é o arquivo

Alternativas
Comentários

ID
837385
Banca
CESPE / CEBRASPE
Órgão
ANAC
Ano
2012
Provas
Disciplina
Banco de Dados
Assuntos

A respeito dos bancos de dados relacionais, julgue os itens que se seguem.

No PostgreSQL, havendo a necessidade de se alterar a localização dos dados de um banco de dados, deve-se alterar o endereço lógico da tablespace em que tais dados estejam armazenados.

Alternativas
Comentários
  • As tablespaces especificam a localização de armazenamento do banco de dados  e são armazenadas fisicamente em datafiles, logo uma tablespace refere-se a parte  do armazenamento lógico e datafiles ao armazenamento físico (são estruturas físicas compatíveis com o sistema operacional no qual o banco é executado).

    Existe um relacionamento “um para muitos” entre os bancos e as tablespaces e um relacionamento  “um para muitos” entre as tablespaces e os datafiles.

    Um datafile pode ser incluído em uma tablespace e os datafiles existentes podem ser estendidos

  • Quem não tem acesso:  - -> Errado

  • ALTER TABLESPACE não tem opção para alterar o LOCATION, apenas outras propriedades como OWNER e nome, por exemplo


ID
922972
Banca
FUNCAB
Órgão
CODATA
Ano
2013
Provas
Disciplina
Banco de Dados
Assuntos

Existem várias maneiras de se realizar um shut down de um servidor de banco de dados PostgreSQL. O tipo de desligamento é controlado através de diferentes sinais enviados para o processomestre.

Um desses sinais, ao ser recebido pelo processo mestre, irá causar o repasse do sinal para os processos filhos e o término imediato do processo mestre. Todos os processos f i lhos serão imediatamente terminados após terem sido sinal izados. Além disso, o mecanismo de recuperação será disparado no próximo startup do servidor.

Aqual sinal o procedimento acima se refere?

Alternativas
Comentários
  • Quem não tem acesso:  - -> D


ID
922975
Banca
FUNCAB
Órgão
CODATA
Ano
2013
Provas
Disciplina
Banco de Dados
Assuntos

Um dos mais importantes parâmetros do kernel do PostgreSQL é usado para definir o tamanho máximo de um segmento de memória compartilhada.

Que parâmetro é esse?

Alternativas
Comentários
  • SHMMAX - Maximum size of shared memory segment (bytes)at least several megabytes (see text)

    SHMMIN - Minimum size of shared memory segment (bytes)1

    SHMALL - Total amount of shared memory available (bytes or pages)if bytes, same as SHMMAX; if pages, ceil(SHMMAX/PAGE_SIZE)

    SHMSEG - Maximum number of shared memory segments per processonly 1 segment is needed, but the default is much higher

    SHMMNI - Maximum number of shared memory segments system-widelike SHMSEG plus room for other applications

    SEMMNI - Maximum number of semaphore identifiers (i.e., sets)at least ceil((max_connections + autovacuum_max_workers + 4) / 16)

    SEMMNS - Maximum number of semaphores system-wideceil((max_connections + autovacuum_max_workers + 4) / 16) * 17 plus room for other applications

    SEMMSL - Maximum number of semaphores per setat least 17

    SEMMAP - Number of entries in semaphore mapsee text

    SEMVMX - Maximum value of semaphoreat least 1000 (The default is often 32767; do not change unless necessary

  • Quem não tem acesso:  - -> C

  • Odeio chorumelas, mas sou obrigado a concordar com vc nessa treta ai!!!


ID
928609
Banca
CESPE / CEBRASPE
Órgão
SERPRO
Ano
2008
Provas
Disciplina
Banco de Dados
Assuntos

Julgue os itens que se seguem, acerca da administração do
PostgreSQL.

Com relação a bases de dados (database), é correto afirmar que são coleções de esquemas; são criadas via CREATE DATABASE; não é necessário que o servidor PostgreSQL esteja em execução (running) para que bases de dados sejam criadas; a base de dados Postgres é copiada por default, ao se criar uma nova base de dados; é necessário explicitar, para que uma base de dados seja criada, o tablespace que será usado.

Alternativas
Comentários
  • Vejo muitos erros na assertiva:

    "Com relação a bases de dados (database), é correto afirmar que são coleções de esquemas; são criadas via CREATE DATABASE; não é necessário que o servidor PostgreSQL esteja em execução (running) para que bases de dados sejam criadas; a base de dados Postgres é copiada por default, ao se criar uma nova base de dados; é necessário explicitar, para que uma base de dados seja criada, o tablespace que será usado."

    1. "não é necessário que o servidor PostgreSQL esteja em execução (running) para que bases de dados sejam criadas."
    Lógico que é necessário. Como enviar consultas a um SGBD se ele não está em execução?

    2. "base de dados Postgres é copiada por default, ao se criar uma nova base de dados"
    A base não é copiada, o que são copiados são algumas definições de papéis.

    3.  "explicitar, para que uma base de dados seja criada, o tablespace que será usado."
    Isso não é necessário. Se você utilizar a ferramenta gráfica PG Admin você cria um banco de dados sem uma consulta e sem explicitar o tablespace.
  • Geraldo,
    Acredito que a afirmação a seguir seja verdadeira: a base de dados Postgres é copiada por default, ao se criar uma nova base de dados; 

    veja: 
    http://pgdocptbr.sourceforge.net/pg80/manage-ag-templatedbs.html

    P
    rimeiro paragrafo: Na verdade o comando CREATE DATABASE funciona copiando um banco de dados existente. Por padrão, copia o banco de dados padrão do sistema chamado template1Portanto, este banco de dados é o "modelo" a partir do qual os novos bancos de dados são criados.

    Ademais, concordo contigo.

  • Errado,é necessário que o servidor esteja rodando.


ID
928612
Banca
CESPE / CEBRASPE
Órgão
SERPRO
Ano
2008
Provas
Disciplina
Banco de Dados
Assuntos

Julgue os itens que se seguem, acerca da administração do
PostgreSQL.

Acerca de papéis e privilégios, é correto afirmar que permissões de acesso são gerenciadas via conceito de papel (role); privilégios podem ser atribuídos a papéis via GRANT; PUBLIC é um nome especial usado para que sejam concedidos todos os privilégios a um papel; membros são incluídos no papel — se um papel existe — via comando ADDUSER e removidos via REMOVE.

Alternativas
Comentários
  • Acredito que o comando certo seja: CREATEUSER e DROPUSER
  • PUBLIC concede um privilégio a todos papéis, não o contrário.
  • Para adicionar um membro a uma role, é utilizado o mesmo comando GRANT. Aliás, não encontrei nenhum comando no Postgres semelhante a ADDUSER.

    http://www.postgresql.org/docs/8.4/static/sql-grant.html
  • O comando GRANT possui duas funcionalidades básicas: conceder privilégios para um objeto do banco de dados (tabela, visão, seqüência, banco de dados, função, linguagem procedural, esquema e espaço de tabelas), e conceder o privilégio de ser membro de um papel.

    O comando GRANT concede privilégios específicos sobre um objeto do banco de dados para um ou mais papéis.
    A palavra chave PUBLIC indica que os privilégios devem ser concedido para todos os papéis, inclusive aos que vierem a ser criados posteriormente..
    Membros são incluídos e excluídos via comandos GRANT e REVOKE.
  • Quem não tem acesso:  - -> Errado


ID
928615
Banca
CESPE / CEBRASPE
Órgão
SERPRO
Ano
2008
Provas
Disciplina
Banco de Dados
Assuntos

Julgue os itens que se seguem, acerca da administração do
PostgreSQL.

Com relação a cópias de segurança (backups), é correto afirmar que o pg_dumpall pode ser executado para criar cópias de segurança de várias bases de dados; o programa psql pode restaurar dados a partir apenas de cópias de segurança criadas com o pg_dump; os arquivos de uma base de dados podem ser copiados via comando tar, desde que o servidor PostgreSQL esteja em execução.

Alternativas
Comentários
  • A sentença "os arquivos de uma base de dados podem ser copiados via comando tar, desde que o servidor PostgreSQL esteja em execução." falso, deve-se sempre usar os comandos padrões do postgres para administrá-lo.
  • "Com relação a cópias de segurança (backups), é correto afirmar que o pg_dumpall pode ser executado para criar cópias de segurança de várias bases de dados;"
    - Verdadeiro: o pg_dumpall é usado para cópias de múltiplos databases ou todos os databases em contraste com o pg_dump.

    "o programa psql pode restaurar dados a partir apenas de cópias de segurança criadas com o pg_dump;"
    - Verdadeiro: vai pela lógica, sem crise.

    "
    os arquivos de uma base de dados podem ser copiados via comando tar, desde que o servidor PostgreSQL esteja em execução"
    - Falso: o comando 'tar' é do Unix, não é um comando do pg. O que existe é um argumento do pg_dump chamado 'tar format (-Ft)' que gera um arquivo manipulável pelo comando 'tar' do Unix.

    Fonte: 
    http://www.postgresql.org/docs/8.4/static/app-pgdump.html
  • um erro esta no: " O programa psql pode restaurar dados a partir apenas de cópias de segurança criadas com pg_dump".

    "a partir apenas" restringe a pissibilidade para uma unica opção(você se apregoa ao "pode" e mais na frente ele muda), o psql restaura da saída do pg_dumpall também.

    Já o outro seria o: " desde que o servidor PostgreSQL esteja em execução".

    O comando tar pode fazer isso que foi dito sem a restrição imposta na frase.  Obs.: comando tar só existe para o linux e a questão não fecha o que falou a um S.O. .


ID
928618
Banca
CESPE / CEBRASPE
Órgão
SERPRO
Ano
2008
Provas
Disciplina
Banco de Dados
Assuntos

Julgue os itens que se seguem, acerca da administração do
PostgreSQL.

Acerca da configuração dos servidores PostgreSQL, é correto afirmar que podem ser informados, no arquivo postgresql.conf, os nomes de arquivos a serem processados via diretivas import; há parâmetros de configuração que podem ser alterados após o servidor PostgreSQL iniciar sua execução; o servidor aguarda solicitações por default na porta TCP de número 432; qualquer parâmetro de configuração pode ser modificado via comando SET em sessões SQL.

Alternativas
Comentários
  • Errado porque o Postgre usa a porta 5432 como padrão (e nao a 432).
  • qualquer parâmetro de configuração pode ser modificado via comando SET em sessões SQL?

  • Gabarito Errado

    Erro clássico para esses tipos de questões que envolve Postgre... A porta é 5432.

     

    Vamos na fé !

     

     

    "Retroceder Nunca Render-se Jamais !"
    Força e Fé !
    Fortuna Audaces Sequitur !


ID
933226
Banca
CESPE / CEBRASPE
Órgão
SERPRO
Ano
2010
Provas
Disciplina
Banco de Dados
Assuntos

No que se refere a banco de dados, julgue os itens de 95 a 102.

No PostgreSQL, o daemon do auto-vacuum é utilizado para automatizar a execução dos comandos VACUUM e ANALYZE.
Para ser usado, as variáveis stats_start_collector e stats_row_level devem estar com valor off e, no arquivo postgresql.conf, auto-vacuum deve estar com o valor on.

Alternativas
Comentários
  • Quem não tem acesso:  - -> Errado


ID
933229
Banca
CESPE / CEBRASPE
Órgão
SERPRO
Ano
2010
Provas
Disciplina
Banco de Dados
Assuntos

No que se refere a banco de dados, julgue os itens de 95 a 102.

O comando a seguir, no PostgreSQL, permite encontrar as maiores tabelas e índices. SELECT relname, relpages FROM pg_class ORDER BY relpages DESC;



Alternativas
Comentários
  • Quem não tem acesso:  - -> Certo

    The catalog pg_class catalogs tables and most everything else that has columns or is otherwise similar to a table. This includes indexes (but see also pg_index), sequences, views, materialized views, composite types, and TOAST tables; see relkind. Below, when we mean all of these kinds of objects we speak of "relations". Not all columns are meaningful for all relation types.

    * relname - Name of the table, index, view, etc.

    * relpages - Size of the on-disk representation of this table in pages (of size BLCKSZ). This is only an estimate used by the planner. It is updated by VACUUM, ANALYZE, and a few DDL commands such as CREATE INDEX.

     

    https://www.postgresql.org/docs/9.3/static/catalog-pg-class.html


ID
933232
Banca
CESPE / CEBRASPE
Órgão
SERPRO
Ano
2010
Provas
Disciplina
Banco de Dados
Assuntos

No que se refere a banco de dados, julgue os itens de 95 a 102.

O diretório /usr/local/pgsql/data do PostgreSQL contém os arquivos de configuração — postgresql.conf, pg_hba.conf e pg_ident.conf — , bem como vários subdiretórios e arquivos de controle, a exemplo de global e pg_clog, que contêm, respectivamente, tabelas para todo o agrupamento, como pg_database; e dados sobre status de efetivação de transação.

Alternativas
Comentários
  • Quem não tem acesso:  - -> CERTO

    pgident.conf é o certo, digitaram errado aqui no site.

  • é desatualizada né? não achei nada sobre pg_clog na documentação recente do postgresql

  • Sobre a pergunta anterior, como era 2020 e a versão já era superior a 10.xx, o arquivo já tinha sido renomeado.

    Histórico das versões

    13.317------------mai 2021

    13.0 (64bit)28 --set 2020

    12.415------------set 2020

    12.38--------------jul 2020

    12.222------------abr 2020

    9.3.4-410---------jun 2014

    9.2.43-------------abr 2013

    8.3.612-----------mar 2009

    Fonte: https://postgresql.br.uptodown.com/windows/versions

    Mudança do pg_clog 

    PostgreSQL 10.x preview change - pg_xlog, pg_clog, pg_log directory renamed pg_wal, pg_xact, log

    Fonte: https://programmer.group/5c624585e9858.html / https://pgpedia.info/p/pg_clog.html


ID
944452
Banca
VUNESP
Órgão
FUNDUNESP
Ano
2013
Provas
Disciplina
Banco de Dados
Assuntos

Sobre as conexões do servidor do sistema gerenciador de bancos de dados PostgreSQL, versão 9.1, a seus clientes, é correto afirmar que

Alternativas
Comentários
  • Cada novo cliente é visto como um novo processo.
    O cliente fica conectado ao banco até ficar um determinado período em inatividade, contado em milisegundos.
    O banco possui um limite (pool\piscina) de conexões, possibilitando mais de um usuário simultaneamente, contrariando uma das opções da questão.
    Letra correta: C
  • Prezados,
    Vamos responder as alternativas de acordo com a documentação do PostgreSQL 9.1
    a) cada cliente não pode ficar conectado por mais de 1ms.
    Alternativa errada. Nas configurações das conexões, podemos configurar o atributo tcp_keepalives_idle (integer) , que permite estabelecer o tempo até que a conexão seja desconectada. Esse atributo vem com valor default de 0.
    b) cada conexão requer um código criptográfico distinto, por razões de segurança.
    Alternativa errada. O Banco suporta conexões cifradas e abertas, escutando ambas na mesma porta TCP.
    c) não há possibilidade de haver mais de um cliente conectado simultaneamente.
    Alternativa errada. O Banco da suporte a múltiplas conexões, abrindo um processo para cada conexão.
    d) o servidor inicia um novo processo para cada conexão com um cliente.
    Alternativa correta. Segundo a documentação do Postgre , o servidor pode suportar múltiplas conexões para os clientes, e ele inicia ( “forks” ) novos processos para cada nova conexão
    http://www.postgresql.org/docs/9.1/static/tutorial-arch.html
    e) para cada novo cliente a se conectar, são criados pelo menos dois novos processos.
    Alternativa errada, não há essa relação
     
    Portanto, alternativa correta é a letra D
    Fonte : http://www.postgresql.org/docs/9.1/static/
  • ops! é a D


ID
944455
Banca
VUNESP
Órgão
FUNDUNESP
Ano
2013
Provas
Disciplina
Banco de Dados
Assuntos

Considerando o sistema gerenciador de bancos de dados PostgreSQL, versão 9.1, suas tabelas são armazenadas seguindo a divisão por páginas. Sobre essa forma de
armazenamento, é correto afirmar que

Alternativas
Comentários
  • Prezados,
    Segundo a documentação do PostgreSQL toda tabela e indice é armazenado em um array de páginas com tamanho fixo ( normalmente 8kb , entretanto diferentes tamanhos podem ser estabelecidos quando compilando o servidor )
    Portanto, alternativa correta é a letra C
     Fonte : http://www.postgresql.org/docs/9.1/static/storage-page-layout.html
     
  • Quem não tem acesso:  - -> C


ID
944458
Banca
VUNESP
Órgão
FUNDUNESP
Ano
2013
Provas
Disciplina
Banco de Dados
Assuntos

No sistema gerenciador de bancos de dados PostgreSQL, versão 9.1, uma das formas de indexação empregadas é conhecida como GiST, que utiliza como método de acesso as (os)

Alternativas
Comentários
  • GiST: Método de acesso à árvores balanceadas para implementar esquemas de indexação arbitrária. A sua vantagem está no seu método de acesso à tipo de dados personalizados.
  • Prezados,
    Segundo a documentação do PostgreSQL, existem duas formas de indexação que podem ser utilizadas para acelerar as pesquisas, a GiST e a GIN.
    O GiST é um índice baseado em árvores balanceadas, dai vem o nome GiST – Generalized Serch Tree Index
    Portanto, alternativa correta é a letra B
    Fonte : http://www.postgresql.org/docs/9.1/static/textsearch-indexes.html
  • GiST stands for Generalized Search Tree. It is a balanced, tree-structured access method, that acts as a base template in which to implement arbitrary indexing schemes. B-trees, R-trees and many other indexing schemes can be implemented in GiST.


    Fonte: http://www.postgresql.org/docs/9.4/static/gist-intro.html

  •  GiST – Generalized Serch Tree Index 

  • Quem não tem acesso:  - -> B

  • GiST

    Random Algorithm

    Balanced Trees <-

    Ciphered Codes

    Linked Lists

    Binary Tuples


ID
944461
Banca
VUNESP
Órgão
FUNDUNESP
Ano
2013
Provas
Disciplina
Banco de Dados
Assuntos

Na linguagem PL/pgSQL do sistema gerenciador de bancos de dados PostgreSQL, versão 9.1, a forma para declarar uma variável denominada “first”, como sendo do tipo inteiro e com valor padrão igual a 10, é:

Alternativas
Comentários
  • Apesar da banca ter tentado complicar com o nome da variável sendo "first" o método segue a forma tradicional:

    first integer DEFAULT 10;
  • Prezados,
    A regra geral para declaração de variáveis do PostgreSQL é :
    name[ CONSTANT ] type [ COLLATE collation_name ] [ NOT NULL ] [ { DEFAULT | := } expression ];
    Portanto, a única alternativa que atende a regra de declaração é a letra E.
    Fonte : http://www.postgresql.org/docs/9.1/static/plpgsql-declarations.html
  • Lembrando que o operador de atribuição no pgsql  é := e não = 

  • Quem não tem acesso:  - -> E


ID
944464
Banca
VUNESP
Órgão
FUNDUNESP
Ano
2013
Provas
Disciplina
Banco de Dados
Assuntos

Na linguagem PL/pgSQL do sistema gerenciador de bancos de dados PostgreSQL, versão 9.1, uma das formas para se obter o efeito de um comando é verificar o conteúdo da
variável especial denominada

Alternativas
Comentários
  • Pelo meu entendimento, a banca quis algo do gênero:

    SELECT * INTO myrec FROM emp WHERE empname = myname; IF NOT FOUND THEN     RAISE EXCEPTION 'employee % not found', myname; END IF;
    Quando pesquisar alguma coisa e quiser realizar alguma operação através de um bloco de seleção, utilizar o comando FOUND, podendo ou não vir precedido do NOT, como é o caso acima.

    Fonte do trexo do código: http://www.postgresql.org/docs/9.1/static/plpgsql-statements.html
  • Prezados,
    Segundo a documentação do PostgreSQL , há duas maneiras de se obter o efeito de um comando, uma delas é usar o comando GET DIAGNOSTICS , a outra maneira é checar o valor da variável especial FOUND , que é do tipo BOOLEANA.
    Portanto, alternativa correta é a letra B
    Fonte : http://www.postgresql.org/docs/9.1/static/plpgsql-statements.html#PLPGSQL-STATEMENTS-DIAGNOSTICS
  • Quem não tem acesso:  - -> B

  • FOUND é uma variável especial do tipo BOOLEAN(começa com valor FALSE dentro de cada chamada de função PL/pgSQL) no PL/pgSQL.

    O propósito dela é verificar o efeito de um comando, ela terá valor TRUE quando em certos casos houver "presença de resultado ou conteúdo":

    Fonte: seção 39.5.5. Obtaining the Result Status -> "segundo método para determinar os efeitos de um comando":

    https://www.postgresql.org/docs/9.1/plpgsql-statements.html


ID
944467
Banca
VUNESP
Órgão
FUNDUNESP
Ano
2013
Provas
Disciplina
Banco de Dados
Assuntos

Na linguagem PL/pgSQL do sistema gerenciador de bancos de dados PostgreSQL, versão 9.1, o comando utilizado para reposicionar um cursor, sem que sejam obtidos dados, é:

Alternativas
Comentários
  • Prezados,
    Segundo a documentação do PostgreSQL , o comando MOVE reposiciona o cursor sem obter nenhum dado.
    Portanto, alternativa correta é a letra C
    Fonte : http://www.postgresql.org/docs/9.1/static/plpgsql-cursors.html
  • MOVE

    MOVE [ direction { FROM | IN } ] cursor;

    MOVE repositions a cursor without retrieving any data. MOVE works exactly like the FETCH command, except it only repositions the cursor and does not return the row moved to. As with SELECT INTO, the special variable FOUND can be checked to see whether there was a next row to move to.

     

     

    https://www.postgresql.org/docs/9.1/static/plpgsql-cursors.html


ID
944476
Banca
VUNESP
Órgão
FUNDUNESP
Ano
2013
Provas
Disciplina
Banco de Dados
Assuntos

No sistema gerenciador de bancos de dados PostgreSQL, versão 9.1, há uma forma de replicação na qual todas as alterações em um arquivo são refletidas para um sistema de arquivos localizado em outro computador. Essa forma de replicação é conhecida como

Alternativas
Comentários
  •  File System Replication: Todas as alterações em um sistema de arquivos são espelhadas para um sistema de arquivos que residem em outro computador. A única restrição é que o espelhamento deve ser feito de uma forma que assegura que o servidor espera tem uma cópia consistente do sistema de arquivos.

    Fonte: http://www.postgresql.org/docs/9.1/static/different-replication-solutions.html
  • Quem não tem acesso:  - -> A

  • Para resolvermos a questão, basta entendermos um pouquinho de inglês. A replicação que consiste em manter atualizados os arquivos de dados, refletindo as alterações realizadas no sistema de arquivos do servidor principal nas suas réplicas, é chamada de file system replication ou replicação de sistema de arquivos.


ID
946894
Banca
CESPE / CEBRASPE
Órgão
SERPRO
Ano
2013
Provas
Disciplina
Banco de Dados
Assuntos

Em relação a banco de dados, julgue os seguintes itens.

No PostgreSQL, diversos gatilhos podem ser associados a uma mesma condição. Entretanto, se o primeiro gatilho retornar NULL, os demais não serão executados.

Alternativas
Comentários
  • Segundo a documentação do SGBD, uma trigger é uma função que não recebe argumentos e retorna um tipo trigger. Este retorno pode ser NULL fazendo com que o executor não realize a operação no nível-de-linha que foi chamado o gatilho.

    http://pgdocptbr.sourceforge.net/pg80/triggers.html
  • Se for definido mais de um gatilho para o mesmo evento na mesma relação, os gatilhos são disparados pela ordem alfabética de seus nomes. No caso dos gatilhos para antes, a linha possivelmente modificada retornada por cada gatilho se torna a entrada do próximo gatilho. Se algum dos gatilhos para antes retornar NULL, a operação é abandonada e os gatilhos seguintes não são disparados.

  • eu teria entrado com recurso

     

    https://www.postgresql.org/docs/9.3/static/trigger-definition.html

     

    If more than one trigger is defined for the same event on the same relation, the triggers will be fired in alphabetical order by trigger name. In the case of BEFORE and INSTEAD OF triggers, the possibly-modified row returned by each trigger becomes the input to the next trigger. If any BEFORE or INSTEAD OF trigger returns NULL, the operation is abandoned for that row and subsequent triggers are not fired (for that row).


ID
984694
Banca
CESPE / CEBRASPE
Órgão
MPOG
Ano
2013
Provas
Disciplina
Banco de Dados
Assuntos

No que se refere aos sistemas gerenciadores de banco de dados livres, julgue os itens que se seguem.


Considere que, na tabela Projeto, haja os campos CodigoProjeto, Tipo e Descricao e, na tabela ProjetoEmpresa,os campos CodigoProjeto, CodigoEmpresa,NomeFuncionario, Categoria,Salario e DataInicial.Nesse caso, é correto afirmar que essas tabelas estão de acordo com a segunda forma normal de banco de dados tanto no MySQL quanto no PostgreSQL.

Alternativas
Comentários
  • Uma tabela está na Segunda Forma Normal 2FN se ela estiver na 1FN e todos os atributos não chave forem totalmente dependentes da chave primária (dependente de toda a chave e não apenas de parte dela). O campo NomeEmpresa possui dependência funcional com CodigoEmpresa (atributo não chave).

  • Robson, aonde vc viu nomeEmpresa?

  • Creio que ele quis dizer NomeFuncionario.

  • O enunciado não identificou as chaves das relações, portanto não podemos afirmar que CodigoEmpresa é não-chave. 

  • Não existe o campo NomeEmpresa, e sim, NomeFuncionario.

  • Quem não tem acesso:  - -> Errado

    Ao meu ver não seria NomeFuncionario e sim CodigoFuncionario, e o Salario deveria estar na tabela Funcionario

  • Concordo com o Bruno. Questão deveria ser anulada por não identificar chave da relação.


ID
984697
Banca
CESPE / CEBRASPE
Órgão
MPOG
Ano
2013
Provas
Disciplina
Banco de Dados
Assuntos

No que se refere aos sistemas gerenciadores de banco de dados livres, julgue os itens que se seguem.


PostgreSQL é um software livre licenciado sob a PostgreSQL Licence, licença similar às licenças BSD e MIT.

Alternativas
Comentários
  • Questão foi um copy/paste do que tá no site: PostgreSQL is released under the PostgreSQL License, a liberal Open Source license, similar to the BSD or MIT licenses.
    http://www.postgresql.org/about/licence/

  • Não é possível que alguém da área crie uma questão dessa...

  • Putz!
    Vivendo e aprendendo!
    PostgreSQL is released under the PostgreSQL License, a liberal Open Source license, similar to the BSD or MIT licenses.
    licença BSD é uma licença de código aberto inicialmente utilizada nos sistemas operacionais do tipo Berkeley Software Distribution (um sistema derivado do Unix). Apesar dela ter sido criada para os sistemas BSD, atualmente vários outros sistemas são distribuídos sob esta licença.
    licença MIT, também chamada de licença X ou de licença X11, é uma licença de programas de computadores (software), criada pelo Massachusetts Institute of Technology. Ela é uma licença não copyleft utilizada em software livre, isto é, ela permite a reutilização de software licenciado em programas livres ou proprietários.

    http://www.postgresql.org/about/licence/
  • Quem não tem acesso:  - -> CERTO


ID
984700
Banca
CESPE / CEBRASPE
Órgão
MPOG
Ano
2013
Provas
Disciplina
Banco de Dados
Assuntos

No que se refere aos sistemas gerenciadores de banco de dados livres, julgue os itens que se seguem.


No PostgreSQL, é possível atualizar um campo do banco de dados usando-se o comando a seguir. UPDATE a,b SET a.id=b.id WHERE a.f2 = b.f2

Alternativas
Comentários
  • medo de colocar certa

     

    SQL é foda

     

    cada banco aceita uma bizarrice diferente do outro

  • ERRADO!

    Esse é um tipo de update com join natural. Funciona no mysql mas não no PostgreSql.

    Segue exemplo de update com join, de acordo com a doc do site PostgreSql:

    UPDATE employees 

    SET sales_count = sales_count + 1 

    FROM accounts

    WHERE 

                   accounts.name = 'Acme Corporation'

    AND 

                   employees.id = accounts.sales_person;

    link: http://www.postgresql.org/docs/8.1/static/sql-update.html

  • Além do erro citado pelo colega Marcondes, há um erro de sintaxe. A cláusula UPDATE necessita da especificação da tabela que deseja-se fazer a atualização.  No comando da questão ela ignorou a tabela e já pulou direto para o SET.

  • O arrendamento mercantil financeiro em essência se trata de uma venda a prazo. Logo, não se enquadra no conceito de propriedade para investimento. 


ID
992098
Banca
FCC
Órgão
TRT - 12ª Região (SC)
Ano
2013
Provas
Disciplina
Banco de Dados
Assuntos

O comando em SQL capaz de serializar dados de uma tabela para um arquivo em disco, ou efetuar a operação contrária, transferindo dados de um arquivo em disco para uma tabela de um banco de dados, é o comando

Alternativas
Comentários
  • O comando apropriado para a transferência de dados entre tabelas e arquivos é o COPY, sendo que:
    COPY TO copia o conteúdo de uma tabela para um arquivo.
    COPY FROM copia o conteúdo de um arquivo para uma tabela. 
    Vale lembrar que o COPY TO também copia o resultado de uma query SELECT.
  • Referência do comando copy

    http://pgdocptbr.sourceforge.net/pg82/sql-copy.html


  • COPY -- copy data between a file and a table

    COPY moves data between PostgreSQL tables and standard file-system files. COPY TO copies the contents of a table to a file, while COPY FROM copies data from a file to a table (appending the data to whatever is in the table already). COPY TO can also copy the results of a SELECT query.

    If a list of columns is specified, COPY will only copy the data in the specified columns to or from the file. If there are any columns in the table that are not in the column list, COPY FROM will insert the default values for those columns.

    COPY with a file name instructs the PostgreSQL server to directly read from or write to a file. The file must be accessible to the server and the name must be specified from the viewpoint of the server. WhenSTDIN or STDOUT is specified, data is transmitted via the connection between the client and the server.


    A utilização do comando copy na mais básica forma pode ser aplicada dessa forma:

    COPY 'name_table' [name_column, name_column2]
    TO 'C:\temp\name.type'
    USINGDELIMITERS ',';

    Pode-se copiar dados uma tabela inteira, ou apenas alguns campos da tabela caso você queira especifique-os em [name_column].
    O arquivo será copiado no diretório que for especificado no destino "TO 'C:\...\...'

    Outro comando interessante é o COPY FROM.
    Este, copia registros consistentes em um arquivo distinto, diferenciando os registros pelo delimitador que é declarado na expressão:

    COPY 'C:\temp\client.txt'
    FROM nome_table (columns)
    USING DELIMITERS ',';

  • Apesar de conhecer a questão, fico pensando como a pessoa ia adivinhar que se tratava de um comando SQL do psql (POSTGRESQL) ? Poderiam dar um direcionamento melhor na questão.

  • Quem não tem acesso:  - -> A


ID
992107
Banca
FCC
Órgão
TRT - 12ª Região (SC)
Ano
2013
Provas
Disciplina
Banco de Dados
Assuntos

Em PostgreSQL, se uma função de um gatilho ( trigger ) executar comandos SQL, existe a possibilidade destes comandos também executarem outros gatilhos. Este processo é conhecido como

Alternativas
Comentários
  • O único processo que permite que ações de um gatilho possam disparar outros gatilhos é conhecido como Cascading Triggers, o qual pode ser visto no exemplo a seguir:
    CREATE TRIGGER del_manu   DELETE ON manufact REFERENCING OLD AS pre_del   FOR EACH ROW(DELETE FROM stock WHERE manu_code = pre_del.manu_code);CREATE TRIGGER del_stock   DELETE ON stock REFERENCING OLD AS pre_del   FOR EACH ROW(DELETE FROM items WHERE manu_code = pre_del.manu_code);CREATE TRIGGER del_items   DELETE ON items REFERENCING OLD AS pre_del   FOR EACH ROW(EXECUTE PROCEDURE log_order(pre_del.order_num))
    O primeiro trigger del_manu deleta todos os itens do manufact da tabela stock. O DELETE da tabela stock dispara o segundo trigger del_items que deleta todos itens da tabela items e assim por diante...
  • http://www.postgresql.org/docs/9.2/static/trigger-definition.html


  • Lembrando que em Postgre não se pode limitar o número de níveis do cascateamento, podendo gerar recursividade, chamando o mesmo trigger novamente.

  • Só uma pequena revisão sobre triggers:Um trigger é um tipo especial de procedimento armazenado, que é executado sempre que há uma tentativa de modificar os dados de uma tabela que é protegida por ele.

    Associados a uma tabela

    Os TRIGGERS são definidos em uma tabela específica, que é denominada tabela de TRIGGERS;

    Chamados Automaticamente

    Quando há uma tentativa de inserir, atualizar ou excluir os dados em uma tabela, e um TRIGGER tiver sido definido na tabela para essa ação específica, ele será executado automaticamente, não podendo nunca ser ignorado.

    Não podem ser chamados diretamente

    Ao contrário dos procedimentos armazenados do sistema, os disparadores não podem ser chamados diretamente e não passam nem aceitam parâmetros.

    É parte de uma transação

    O TRIGGER e a instrução que o aciona são tratados como uma única transação, que poderá ser revertida em qualquer ponto do procedimento, caso você queria usar “ROLLBACK”.

    Sintaxe do trigger no postgreSQL

    CREATE [ CONSTRAINT ] TRIGGER name { BEFORE | AFTER | INSTEAD OF } { event [ OR ... ] } ON table [ FROM referenced_table_name ] { NOT DEFERRABLE | [ DEFERRABLE ] { INITIALLY IMMEDIATE | INITIALLY DEFERRED } } [ FOR [ EACH ] { ROW | STATEMENT } ] [ WHEN ( condition ) ] EXECUTE PROCEDURE function_name ( arguments ) where event can be one of: INSERT UPDATE [ OF column_name [, ... ] ] DELETE TRUNCATE

    Leia mais em: Introdução à TRIGGERS http://www.devmedia.com.br/introducao-a-triggers/1695#ixzz37r4zGqQg

  • http://www.postgresql.org/docs/7.4/static/triggers.html

  • Quem não tem acesso:  - -> A


ID
992110
Banca
FCC
Órgão
TRT - 12ª Região (SC)
Ano
2013
Provas
Disciplina
Banco de Dados
Assuntos

Localização refere - se ao fato de uma aplicação respeitar as preferências culturais sobre alfabetos, classificação, formatação de números etc. PostgreSQL usa o padrão ISO C e POSIX fornecidos pelo sistema operacional do servidor para aplicar as regras de localização. O suporte à localização é automaticamente inicializado quando um cluster de banco de dados é criado usando o comando

Alternativas
Comentários
  • Desconheço as alternativas D e E, enquanto que a alternativa A (create cluster), cria um cluster, a alternativa B (create database), cria um banco de dados. Assim, a alternativa correta é a alternativa C (initdb) que permite criar um cluster de banco de dados, o qual é uma coleção de banco de dados que é gerenciado por uma única instância do servidor. 
  • Criação do Agrupamento de Banco de Dados (Database Cluster)

    Antes de ser possível fazer qualquer coisa, deve ser inicializada a área em disco para armazenamento dos bancos de dados. Isto é chamado de criação do agrupamento de bancos de dados (database cluster); em vez desse nome, o padrão SQL utiliza o termo agrupamento de catálogos (catalog cluster). Um agrupamento de bancos de dados é uma coleção de bancos de dados gerenciada por uma única instância de um servidor de banco de dados em execução. Após ser criado, o agrupamento de bancos de dados contém um banco de dados chamado template1. Como o nome sugere (em inglês), este banco de dados é utilizado como modelo para os próximos bancos de dados a serem criados; não deve ser utilizado para trabalho.

    Em termos de sistema de arquivos, um agrupamento de bancos de dados é um único diretório sob o qual todos os dados são armazenados. Este diretório é chamado de diretório de dados ou área de dados. A escolha do local onde os dados são armazenados depende inteiramente de quem faz a instalação. Não existe nenhum padrão, embora sejam usuais locais como /usr/local/pgsql/data e /var/lib/pgsql/data. Para inicializar um agrupamento de bancos de dados é utilizado o utilitário initdb, que é instalado junto com o PostgreSQL. O local no sistema de arquivos escolhido para o agrupamento de bancos de dados é indicado pela opção -D como, por exemplo:

    $ initdb -D /usr/local/pgsql/data
  • Locale support is automatically initialized when a database cluster is created using initdb. initdb will initialize the database cluster with the locale setting of its execution environment by default, so if your system is already set to use the locale that you want in your database cluster then there is nothing else you need to do. If you want to use a different locale (or you are not sure which locale your system is set to), you can instruct initdb exactly which locale to use by specifying the --locale option.


    http://www.postgresql.org/docs/9.1/static/locale.html
  • Pegadinha de comparação entre as duas versões de SQL.

    O "create cluster" cria um cluster de banco de dados no Oracle.
    O "inidb" cria um cluster de banco de dados no Postgree.

    Fonte:

    http://www.postgresql.org/docs/8.3/static/creating-cluster.html
    http://docs.oracle.com/cd/B19306_01/server.102/b14200/statements_5001.htm

  • Quem não tem acesso:  - -> C


ID
997744
Banca
FCC
Órgão
TRT - 12ª Região (SC)
Ano
2013
Provas
Disciplina
Banco de Dados
Assuntos

No banco de dados PostgreSQL, após uma operação de CROSS JOIN entre uma determinada tabela 1 e uma determinada tabela 2, a tabela resultante irá conter.

Alternativas
Comentários
  • Parece um CROSS PRODUCT.

    http://en.wikipedia.org/wiki/Relational_algebra#Selection_and_cross_product
  • CROSS JOIN – Todos os dados da tabela à esquerda de JOIN são cruzados com os dados da tabela à direita de JOIN por meio do CROSS JOIN, também conhecido como produto cartesiano. É possível cruzarmos informações de duas ou mais tabelas.

    Letra E
  • Uma observação importante:

    Não confundir o CROSS JOIN com o FULL OUTER JOIN.  O CROSS JOIN como já comentado faz o produto cartesiano, portanto se a tabelaA tiver 10 linhas e a tabelaB tiver 10 a tabela resultante irá conter 100 linhas (10 x 10). O FULL OUTER JOIN ou FULL JOIN retorna todas as linhas da tabela a esquerda e da tabela a direita. Caso uma delas não possua informação serão colocados valores nulos. No exemplo anterior, a tabela resultante irá conter 20 linhas.
  • Utilizar SELECT * FROM cidade CROSS JOIN subregiao equivale a utilizar
    SELECT * FROM cidade, subregiao

    CROSS JOIN nada mais é do que o produto cartesiano entre 2 tabelas.

    Então se temos uma tabela com N linhas e outra tabela com M linhas, o produto cartesiano vai trazer NxM linhas, sendo que cada linha contém todas as colunas de ambas as tabelas.


    Obs: Para mais de 2 tabelas têm que usar a seguinte sintaxe: SELECT * FROM cidade CROSS JOIN (subregiao CROSS JOIN pais).


    Bons Estudos!

  • e) todas as colunas da tabela 1, seguidas por todas as colunas da tabela 2. Caso as tabelas possuam N e M linhas, respectivamente, a tabela resultante irá conter o produto de N e M (N × M) linhas. (PRODUTO CARTESIANO)


ID
997750
Banca
FCC
Órgão
TRT - 12ª Região (SC)
Ano
2013
Provas
Disciplina
Banco de Dados
Assuntos

Em PostgreSQL, uma função permite que o processamento da query seja interrompido por um determinado número de segundos. Este comando é chamado de:


Alternativas
Comentários
  • definição e sintaxe do comando pg_sleep:  http://www.if-not-true-then-false.com/2010/postgresql-sleep-function-pg_sleep-postgres-delay-execution/

  • Não conhecia esta função...

    Aproveitando para ficar como dica

    pg_standby

    pg_standby -- supports the creation of a PostgreSQL warm standby server
    http://www.postgresql.org/docs/9.3/static/pgstandby.html

  • Quem não tem acesso:  - -> D

  • Uma das funções embarcadas do PostgreSQL é a pg_sleep, que permite suspender o processo da sessão atual de conexão ao banco de dados por um período estipulado em segundos. De forma análoga, também existem as funções pg_sleep_for e pg_sleep_until, que recebem um intervalo de tempo e uma data até quando a sessão deve "dormir", respectivamente.


ID
1077277
Banca
VUNESP
Órgão
UNESP
Ano
2013
Provas
Disciplina
Banco de Dados
Assuntos

No sistema gerenciador de bancos de dados PostgreSQL (9.1), o comando para obter os nomes dos papéis existentes no banco de dados é:

Alternativas
Comentários
  • Quem não tem acesso:  - -> C

  • morri de rir com o seu comentário kkk - bem didático

  • morri de rir com o seu comentário kkk - bem didático

  • kkkkkkkkkkk

  • Depois dessa nunca mais esqueço hahaha

  • só agora com sua explicação que entendi kk

  • só agora com sua explicação que entendi kk

  • 10.599 palmas para esse comentário de 2012. Só com ele, consegui entender perfeitamente!!!!

  • Felipe conseguiu se perpetuar com esse comentário kkkkk

  • KKKKKK comentários assim me fazem raciocinar melhor

  • KKKKKK comentários assim me fazem raciocinar melhor

  • KKKKKK comentários assim me fazem raciocinar melhor

  • KKKKKK comentários assim me fazem raciocinar melhor


ID
1077280
Banca
VUNESP
Órgão
UNESP
Ano
2013
Provas
Disciplina
Banco de Dados
Assuntos

No sistema gerenciador de bancos de dados PostgreSQL (9.1), o parâmetro de configuração do servidor de banco de dados que especifica o número máximo de buffers temporários permitido em cada sessão do banco de dados é;

Alternativas
Comentários
  • Quem não tem acesso:  - -> D


ID
1098040
Banca
IADES
Órgão
TRE-PA
Ano
2014
Provas
Disciplina
Banco de Dados
Assuntos

Um Sistema Gerenciador de Banco de Dados (SGBD) é um conjunto de softwares responsáveis pela administração de bases de dados. Há diversos tipos de SGBD, livres ou proprietários. Entre as alternativas, assinale a que apresenta o nome de um SGBD classificado como software livre.

Alternativas
Comentários
  • Letra E


    PostgreSQL é um sistema de gerenciador de banco de dados que pode ser:  usado, copiado, modificado e redistribuído, ou seja , um software livre. Inclusive, é um dos mais avançados nesse campo.

  • Seguem alguns exemplos de SGBDs livres:
    MySQL, PostgreSQL, Firebird, MariaDB, Apache Cassandra, Apache Derby, HSQLDB, MongoDB.

  • Gabarito E

    PostgreSQL é um sistema gerenciador de banco de dados objeto relacional (SGBDOR), desenvolvido como projeto de código aberto.


    Hoje, o PostgreSQL é um dos SGBDs (Sistema Gerenciador de Bancos de Dados) de código aberto mais avançados, contando com recursos como:

    Consultas complexas Chaves estrangeiras Integridade transacional Controle de concorrência multi-versão Suporte ao modelo híbrido objeto-relacional Ele tem facilidade de Acesso Gatilhos Visões Linguagem Procedural em várias linguagens (PL/pgSQL, PL/Python, PL/Java, PL/Perl) para Procedimentos armazenados Indexação por texto Estrutura para guardar dados Georreferenciados PostGIS



    "Retroceder Nunca Render-se Jamais !"

    Força e Fé !

    Fortuna Audaces Sequitur !


ID
1101367
Banca
UNIRIO
Órgão
UNIRIO
Ano
2012
Provas
Disciplina
Banco de Dados
Assuntos

Com relação ao conceito de SEQUENCE e características do PostgreSQL, assinale a afirmação correta .

Alternativas
Comentários
  • A) Campos autoincremento : SQLServer -> Identity, Mysql -> Autoincrement, Postgresql -> Serial;

    E ) Sequencias: Postgresql -> SELECT nextval('aluno_seq'), Oracle -> SELECT ALUNO_SEQ.NEXTVAL;

  • Quem não tem acesso:  - -> A


ID
1107640
Banca
CEPERJ
Órgão
Rioprevidência
Ano
2014
Provas
Disciplina
Banco de Dados
Assuntos

Em um banco de dados PostgreSQL, deseja-se listar todas as tuplas de tabela pedidos, ordenadas por cliente e subordenadas por quantidade, em ordem crescente. Para essa situação, o comando SQL é:

Alternativas
Comentários
  • Quem não tem acesso:  - -> A


ID
1112923
Banca
FCC
Órgão
AL-PE
Ano
2014
Provas
Disciplina
Banco de Dados
Assuntos

Em um banco de dados há duas tabelas, departamento e funcionario, cujos campos são:

Departamento:

DepNo - int - primary key - not null

DNome - varchar(50) - not null

DLocal - varchar(40)

Funcionario:

FunNo - int - primary key - not null

DepNo - int - foreign key - not null

FNome - varchar(50) - not null

FCargo - varchar(40)

FSal - double

Ambas as tabelas possuem muitos registros cadastrados, que não incluem valores nulos. Considere as instruções SQL a seguir:

I. select funcionario.FunNo, funcionario.FNome, departamento.DNome from funcionario INNER JOIN departamento ON funcionario.DepNo = departamento.DepNo;

II. select funcionario.FunNo, funcionario.FNome, departamento.DNome from funcionario, departamento where funcionario.DepNo = departamento.DepNo;

III. select f.FunNo, f.FNome, d.DNome from (select departamento.DepNo, departamento.DNome from departamento) as d, funcionario as f where d.DepNo = f.DepNo;

IV. select DISTINCT f.FunNo, f.FNome, d.DNome from funcionario f, departamento d;


Para mudar o nome da tabela funcionario para empregado no PostgreSQL, utiliza-se a instrução:

Alternativas
Comentários
  • A sintaxe é igual a do Oracle: ALTER TABLE nome_tabela RENAME TO novo_nome_tabela;

    Pra coluna ficaria: ALTER TABLE nome_tabela RENAME COLUMN nome_coluna TO novo_nome_coluna;

  • Letra E

     

    Rename table

    For Oracle, MySQL, MariaDB, PostgreSQL and SQLite:


    -> To rename a table, the SQL ALTER TABLE syntax is:

     

    ALTER TABLE table_name
      RENAME TO new_table_name;

     

    https://www.techonthenet.com/sql/tables/alter_table.php


ID
1112950
Banca
FCC
Órgão
AL-PE
Ano
2014
Provas
Disciplina
Banco de Dados
Assuntos

No PostgreSQL, quando um objeto do banco de dados é criado, é atribuído um dono ao mesmo. O dono é o usuário que executou o comando de criação. Para mudar o dono de uma tabela, índice, sequência ou visão deve ser utilizado o comando

Alternativas
Comentários
  • Para uma tabela apenas:

    ALTER TABLE tabela OWNER TO novo_dono;

    Todas as tabelas e objetos de um BD:

    REASSIGN OWNED BY antigo_dono [, outros_antigos_donos] TO novo_dono;

  • Interpretação errada do manual do Postgres.

    Para alterar o OWNER de uma sequência não é com ALTER TABLE, mas sim com:

    ALTER SEQUENCE name OWNER TO new_owner

  • O dono de um objeto no PostgreSQL é, por padrão, o papel que o criou. A propriedade do objeto é uma característica da definição do objeto, e não um privilégio específico que pode ser concedido e revogado através de grant/revoke. É necessário alterar a definição do objeto, através do comando ALTER, e utilizar a cláusula OWNER.


ID
1112953
Banca
FCC
Órgão
AL-PE
Ano
2014
Provas
Disciplina
Banco de Dados
Assuntos

No PostgreSQL os espaços de tabelas permitem aos administradores (superusuários) definir locais no sistema de arquivos onde os arquivos que representam objetos do banco de dados podem ser armazenados. Uma vez criado, o espaço de tabelas pode ser referenciado por seu nome ao criar os objetos do banco de dados. Para criar o espaço de tabelas teste no diretório /data/teste pertencendo ao usuário souza, utiliza-se a instrução:

Alternativas
Comentários
  • Sintaxe básica para criar tablespaces no PostgreSQL:

    CREATE TABLESPACE tablespacename [ OWNER username ] LOCATION 'directory'

    Fonte: http://www.postgresql.org/docs/8.0/static/sql-createtablespace.html
  • Quem não tem acesso:  - -> A

  • Um tablespace, traduzido como "espaço de tabelas" na questão, pode ser criado através de um comando do tipo CREATE TABLESPACE nome LOCATION diretório. Para definir o proprietário de um objeto, basta usar o comando OWNER logo após o nome do objeto.


ID
1151230
Banca
INSTITUTO AOCP
Órgão
Colégio Pedro II
Ano
2013
Provas
Disciplina
Banco de Dados
Assuntos

Considerando o banco de dados PostgreSQL 8.4, assinale a alternativa que representa o comando utilizado para efetuar backup do banco de dados.

Alternativas
Comentários
  • o  pg_dump: o utilitário que pode ser acionado para efetuar um backup de um banco de dados.


  • pg_restore é um utilitário para restaurar um banco de dados do PostgreSQL, a partir de uma cópia de segurança criada pelo pg_dump que é o utilitario de backup de um BD (: 

    http://pgdocptbr.sourceforge.net/pg80/app-pgrestore.html

  • Rodrigo Marcelo, faltou você dizer que o comando referido faz backupe do PostgreSQL. Da forma que você falou fica parecendo que é de qualquer banco. Por exemplo, o mysql usa mysql dump.


ID
1151521
Banca
INSTITUTO AOCP
Órgão
Colégio Pedro II
Ano
2013
Provas
Disciplina
Banco de Dados
Assuntos

Qual das alternativas abaixo apresenta as portas padrão do PostgreSQL e MySQL respectivamente?

Alternativas
Comentários
  • Gabarito C

    PostgreSQL = 5432

    MySQL = 3306

     

    "Retroceder Nunca Render-se Jamais !"
    Força e Fé !
    Fortuna Audaces Sequitur !
     

  • Eu te pergunto qual conhecimento a banca quer avaliar do candidato com uma questão dessa.


ID
1151524
Banca
INSTITUTO AOCP
Órgão
Colégio Pedro II
Ano
2013
Provas
Disciplina
Banco de Dados
Assuntos

O arquivo pg_hba.conf possui várias configurações de um banco de dados PostgreSQL, dentre essas configurações existe a configuração de método de autenticação ao banco de dados. Qual das alternativas abaixo apresenta apenas métodos válidos de autenticação?

Alternativas
Comentários
  • Alternativa:E

    https://www.postgresql.org/docs/9.3/static/auth-pg-hba-conf.html

  • trust - Permite a conexão incondicionalmente. Este método permite que
    qualquer pessoa que pode se conectar ao servidor de banco de dados
    PostgreSQL e se autenticar como o usuário que desejarem, sem a necessidade
    de senha ou qualquer outra autenticação.

     

    reject - Rejeitar qualquer conexão incondicionalmente. Isso é útil para
    "filtragem" de certos hospedeiros de um grupo, por exemplo, uma linha de
     

    md5 - Exige que o cliente forneça uma senha double-MD5-hash para
    autenticação.

     

    password - Exige que o cliente forneça uma senha não criptografada para
    autenticação. Uma vez que a senha é enviada em texto simples através da rede,
    não deve ser usado em redes não confiáveis.

     

    GSS - Use GSSAPI para autenticar o usuário. Este método só está
    disponível para conexões TCP/IP.
    sspi - Usa SSPI para autenticar o usuário. O método só está disponível no
    Windows.

     

    ident - Obtém o nome do usuário do sistema operacional do cliente
    entrando em contato com o servidor e verifica se ele corresponde ao nome do
    usuário do banco de dados. A autenticação ident só pode ser utilizada em
    conexões TCP/IP. Quando especificado para conexões locais, peer authenticatio n
    será utilizado em seu lugar.

     

    peer - Obtém o nome de usuário do sistema operacional do cliente e
    verifica se ele corresponde ao nome do usuário solicitado banco de dados. Isto
    só está disponível para conexões locais.

     

    ldap - Autentica usando um servidor LDAP.

     

    radius - Autentica usando um servidor RADIUS.

     

    cert - Autentica usando certificados de cliente SSL.

     

    pam - autentica utilizando o serviço Pluggable Authen

  • As alternativas de A a D contêm alguns métodos de autenticação que não existem no PostgreSQL. São eles:

    a) drop e accept

    b) contexto e sync

    c) free e fill

    d) prop e user

    Na letra E, temos o método trust (que aceita todas as conexões), o método md5 (que pede senha e oferece um nível mediano de segurança) e ident (método de autenticação remota que utiliza um serviço compatível com Identity Protocol na máquina do cliente).


ID
1151536
Banca
INSTITUTO AOCP
Órgão
Colégio Pedro II
Ano
2013
Provas
Disciplina
Banco de Dados
Assuntos

Qual é o retorno da consulta select replace(initcap(replace(upper(‘pedro cortou o joelho’),’pedro’,’carlos’)),’carlos’,’marcelo’); executada no PostgreSQL?

Alternativas
Comentários
  • Quebrando pra ficar fácil:

    select replace(initcap
            (replace
                (upper(‘pedro cortou o joelho’)
            ,’pedro’,’carlos’)
            ),
    ’carlos’,’marcelo’); 
     

    Indo por partes, feito Jack:   

    upper(‘pedro cortou o joelho’) -> Resultará em 'PEDRO CORTOU O JOELHO'

    replace('PEDRO CORTOU O JOELHO', 'pedro', 'carlos') -> Continuará  'PEDRO CORTOU O JOELHO' visto que a função replace é CASE SENSITIVE

    initcap('PEDRO CORTOU O JOELHO') -> Coloca a primeira letra de CADA PALAVRA em maíuscula, e as restantes em minúscula. 'Pedro Cortou O Joelho' é a resultante agora

    replace('Pedro Cortou O Joelho', 'carlos', 'marcelo') -> Nada acontece. Não existe Carlos, e mesmo que existisse ele teria o C maiúsculo.

     

    Resultado: 'Pedro Cortou O Joelho'


ID
1159561
Banca
CESPE / CEBRASPE
Órgão
TJ-CE
Ano
2014
Provas
Disciplina
Banco de Dados
Assuntos

A respeito do PostgreSQL 9.3 em Linux, assinale a opção correta.

Alternativas
Comentários
  • Fonte: Tec Concursos - Prof. Fábio Campos

    a) ERRADO. PAM é um método de autenticação que pode ser utilizado no Postgres e não há nenhum empecilho na integração com LDAP, pelo contrário, a documentação diz que PAM não tem problemas para utilizar o LDAP ou outros meios de autenticação.

    b) ERRADO. LD_LIBRARY_PATH é uma variável de ambiente do sistema operacional, nela é definida o caminho para encontrar as bibliotecas compartilhadas. Então sempre que algum sistema precisar de algo dessas bibliotecas, vai procurar no caminho definido pela referida variável no sistema operacional. Não há nenhuma menção na documentação de que essa informação deva estar em outros locais, como no arquivo postgresql.conf.

    c) ERRADO. O arquivo pg_service.conf é utilizado para mapear conexões de um servidor de banco de dados Postgres, mas cada conexão é definida em várias linhas  e não em uma única linha (como acontece em uma string de conexão).

    d) CERTO. É uma situação que ocorre nessas versões do Linux, onde o sistema operacional ao ficar sem memória disponível, começa a matar (comando kill process) os processos para liberar a memória e acaba afetando o funcionamento do servidor do Postgres. E para solucionar essa questão é necessário utilizar uma máquina onde os recursos de memória serão suficientes para rodar o servidor do Postgres e demais processos do sistema operacional. Os recursos devem ser gerenciados de forma a nunca esgotar totalmente para evitar que o sistema comece a matar os processos.

    e) ERRADO. Partições e espaços de disco podem sim ser criptografas, tanto no Linux quanto no Windows.


ID
1175929
Banca
FDC
Órgão
IF-SE
Ano
2014
Provas
Disciplina
Banco de Dados
Assuntos

Em bancos de dados PostgreSQL, uma transação é um conjunto de operações com início e fim, iniciando quando se executa o primeiro comando SQL e terminando de acordo com as situações caracterizadas a seguir:

I - o comando BEGIN inicia um bloco de comandos SQL que fazem parte de uma transação.

II - a transação é finalizada por um comando ALFA específico, que dispara a efetivação normal da transação no banco de dados e torna públicos aos demais usuários os resultados da execução dos seus comandos.

III - um comando BETA aborta a transação que está em andamento, impedindo que as alterações nos dados nela realizadas sejam efetivadas no banco de dados.

Os comandos ALFA e BETA denominam-se, respectivamente:

Alternativas
Comentários
  • Gabarito: E.

     

    Commit - transação é finalizada com sucesso e persistida no BD.

    Rollback - transação é abortada.

  • O postgresql tem o comando ABORT tbm que faz o mesmo que o ROLLBACK, por que não anularam a questão ein?

    ABORT

    ABORT — abort the current transaction

    Synopsis

    ABORT [ WORK | TRANSACTION ] [ AND [ NO ] CHAIN ]

    Description

    ABORT rolls back the current transaction and causes all the updates made by the transaction to be

    discarded. This command is identical in behavior to the standard SQL command ROLLBACK, and

    is present only for historical reasons.


ID
1178584
Banca
VUNESP
Órgão
SAAE-SP
Ano
2014
Provas
Disciplina
Banco de Dados
Assuntos

Uma das formas de definir valores dos parâmetros de configuração do servidor do sistema gerenciador de bancos de dados PostgreSQL (v. 9.1) é editando o arquivo.

Alternativas
Comentários
  • postgresql.conf => é o principal arquivo de configuração do servidor.

    pg_hba.conf => é o arquivo de configuração para o host-based authentication (hba).

    pg_ident.conf => é o arquivo de configuração para o user name mapping.


  • http://www.postgresql.org/docs/9.3/static/config-setting.html


ID
1211149
Banca
FCC
Órgão
TRT - 5ª Região (BA)
Ano
2013
Provas
Disciplina
Banco de Dados
Assuntos

No PostgreSQL, a função utilizada para obter informações sobre arquivos é chamada

Alternativas
Comentários
  • Alternativa letra C).
    Na página do postgres encontrei os seguintes comandos:


    pg_ls_dir = List the contents of a directory;


    pg_read_file = Return the contents of a text file;


    pg_stat_file = Return information about a file;


    http://www.postgresql.org/docs/8.1/static/functions-admin.html


  • Letra C.

     

    pg_stat_file returns a record containing the file size, last accessed time stamp, last modified time stamp, last file status change time stamp (Unix platforms only), file creation timestamp (Windows only), and a boolean indicating if it is a directory.

    Typical usages include:

    SELECT * FROM pg_stat_file('filename');

    SELECT (pg_stat_file('filename')).modification;

     

    https://www.postgresql.org/docs/8.1/static/functions-admin.html


ID
1215148
Banca
CESPE / CEBRASPE
Órgão
TJ-SE
Ano
2014
Provas
Disciplina
Banco de Dados
Assuntos

Acerca dos sistemas gerenciadores de banco de dados InterSystems Cache, PostgreSQL, MySQL e Oracle, julgue os itens subsequentes.

Caso a instrução abaixo seja executada no PostgreSQL 9.3, ela retornará o espaço em disco utilizado pela tabela processo, desconsiderando-se o espaço utilizado pelos seus índices.

SELECT pg_table_size('processo');

Alternativas
Comentários
  • É... tópicos avançados de adm PosteSQL 9.3!!!

    pg_table_size(regclass)Disk space used by the specified table, excluding indexes (but including TOAST, free space map, and visibility map);
    Ref: http://www.postgresql.org/docs/9.1/static/functions-admin.html
  • Pode ser executada sem o FROM?

  • Quem não tem acesso:  - -> CERTO

  • tópicos avançados não, tópicos sem noção isso sim, não tem só postgre no edital não... tudo bem que é prova para cargo em BD, mas ainda assim é sem noção cobrar uma decoreba dessa...


ID
1232047
Banca
FCC
Órgão
TRT - 16ª REGIÃO (MA)
Ano
2014
Provas
Disciplina
Banco de Dados
Assuntos

Para responder à questão, considere o texto abaixo.

Considere a existência do banco de dados, denominado trt16 no PostgreSQL 8.4 para Windows, manipulado utilizando a ferramenta gráfica pgAdmin. Deseja-se criar neste banco de dados a tabela proc_trab com os campos descritos a seguir:

numero – inteiro, não nulo.
digito – inteiro, não nulo.
justica – cadeia de caracteres.
ano – inteiro.
vara – cadeia de caracteres.

A chave primária será composta pelos campos numero e digito.

Considere os comandos a seguir:

I. CREATE TABLE trt16.proc_trab(numero integer NOT NULL, digito integer NOT NULL, justica character varying(5) DEFAULT 5.16, ano integer, vara character varying(50), CONSTRAINT pk_proc PRIMARY KEY (numero, digito));

II. CREATE TABLE trt16.proc_trab(numero integer NOT NULL CONSTRAINT pk_proc PRIMARY KEY, digito integer NOT NULL CONSTRAINT pk_proc PRIMARY KEY, justica varchar(5) DEFAULT '5.16', ano integer, vara varchar(50));

III. CREATE TABLE trt16.proc_trab(numero int NOT NULL, digito int NOT NULL, justica char(5) DEFAULT 5.16, ano integer, vara varchar(50), CONSTRAINT pk_proc PRIMARY KEY (numero, digito));

IV. CREATE TABLE trt16.proc_trab(numero integer NOT NULL, digito integer NOT NULL, justica char(5) DEFAULT '5.16', ano integer, vara character varying(50), CONSTRAINT pk_proc PRIMARY KEY (numero, digito));

Para criar a tabela de forma que, ao inserir um novo registro, ele receba automaticamente no campo justica o valor 5.16, pode-se utilizar APENAS os comandos apresentados em

Alternativas
Comentários
  • Alguém pode explicar por que o item IV está correto?

     IV. CREATE TABLE trt16.proc_trab(numero integer NOT NULL, digito integer NOT NULL, justica char(5) DEFAULT '5.16', ano integer, vara character varying(50), CONSTRAINT pk_proc PRIMARY KEY (numero, digito)); 

    Achei que o DEFAULT entre aspas tornaria a alternativa errada..


  • Se eu ñ me engano tanto faz de deixar o valor DEFAULT com ou sem aspas para cadeia de caracteres, o problema noa II é a declaração da chave primaria que esta separada.

  • Quem não tem acesso:  - -> A


ID
1232050
Banca
FCC
Órgão
TRT - 16ª REGIÃO (MA)
Ano
2014
Provas
Disciplina
Banco de Dados
Assuntos

Para responder à questão, considere o texto abaixo.

Considere a existência do banco de dados, denominado trt16 no PostgreSQL 8.4 para Windows, manipulado utilizando a ferramenta gráfica pgAdmin. Deseja-se criar neste banco de dados a tabela proc_trab com os campos descritos a seguir:

numero – inteiro, não nulo.
digito – inteiro, não nulo.
justica – cadeia de caracteres.
ano – inteiro.
vara – cadeia de caracteres.

A chave primária será composta pelos campos numero e digito.

Para visualizar apenas o número e o dígito dos processos cujo ano seja maior do que 2000, em ordem decrescente pelo número do processo, utiliza-se a instrução:

Alternativas
Comentários
  • Select
    SELECT "nome_coluna" FROM "nome_tabela";

    Where
    SELECT "nome_coluna"
    FROM "nome_tabela"
    WHERE "condição";

    Order By

    SELECT "nome_coluna"
    FROM "nome_tabela"
    [WHERE "condição"]
    ORDER BY "nome_coluna" [ASC, DESC];


    FONTE: http://www.1keydata.com/pt/sql/sql-sintaxe.php

  • Quem não tem acesso:  - -> D


ID
1232437
Banca
FCC
Órgão
TRT - 5ª Região (BA)
Ano
2013
Provas
Disciplina
Banco de Dados
Assuntos

Considere os seguintes trechos de SQL para bancos de dados Oracle.

create table test (id number, testdata varchar2(255));

create sequence test_seq
start with 1
increment by 1
nomaxvalue;

create trigger test_trigger
before insert on test
for each row
begin
select test_seq.nextval into :new.id from dual;
end;

O propósito destes comandos é obter um autoincremento da coluna id presente na tabela test. Em sistemas de bancos de dados PostgreSQL, o autoincremento pode ser obtido com a utilização de um tipo de dado criado por conveniência, chamado

Alternativas
Comentários
  • o auto incremento em postgresql é serial emsql é auto_increment

  • Colunas de autonumeração
    Oracle - sequence
    SQL Server - identity
    PostgreSQL - serial
    MySQL - auto_increment


ID
1232440
Banca
FCC
Órgão
TRT - 5ª Região (BA)
Ano
2013
Provas
Disciplina
Banco de Dados
Assuntos

Nos sistemas de banco de dados PostgreSQL, o tipo de dado double precision requer...I..... para seu armazenamento, enquanto o tipo BINARY_FLOAT do Oracle possui 32 bits e requer..II...... para seu armazenamento.

As lacunas I e II são correta e respectivamente preenchidas com:

Alternativas
Comentários
  • Para que perguntar esse tipo de questão? Para eliminar os que estudaram... pois, isso aí só faz no chute . Quem tiver memória para gravar isso, vá estudar para auditor fiscal, juiz, desembargador.... 

  • O curioso é que você tenta fazer a conversão do dado já que a questão fala que o BINARY_FLOAT ocupa 32 bits... aí você pensa: "então são 4 bytes" o que parece ajudar, só que não, são 5 bytes.

    O byte extra serve como delimitador do ponto flutuante.

    BINARY_FLOAT    32-bit floating point number. This datatype requires 5 bytes, including the length byte.
    BINARY_DOUBLE 64-bit floating point number. This datatype requires 9 bytes, including the length byte

    Fonte: https://docs.oracle.com/cd/B12037_01/server.101/b10759/sql_elements001.htm

ID
1233094
Banca
VUNESP
Órgão
COREN-SP
Ano
2013
Provas
Disciplina
Banco de Dados
Assuntos

No sistema gerenciador de bancos de dados PostgreSQL (v. 9.1), uma forma de melhorar o desempenho (tuning), quando da inserção de grande quantidade de registros em uma tabela, é

Alternativas
Comentários
  • Gabarito: C.

     

    O enunciado menciona "grande quantidade de registros". Se fosse feito um commit para cada inserção de registro (autocommit), o desempenho geral do processo seria reduzido.

     

    Ao se desabilitar essa função e "executar apenas um commit ao final das inserções de registros", isso seria "uma forma de melhorar o desempenho (tuning)".

  • Nem precisa conhecer PostgreSQL para realizar essa questão.

  • Para desativar o Autocommit a nível de sessão e fazer com que seja necessário executar o COMMIT ou ROLLBACK ao final dos seus comandos para que eles sejam realmente aplicados no banco