Buscar

ADM BD 1

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 37 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 37 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 37 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

1.
		Os processos do PostGreSql responsável por atender as conexões dos usuários denomina-se
 
	
	
	
	 Receicer
 
	
	
	Postmaster
	
	
	Postgres Backend
	
	
	Checkpointer
	
	
	Writer
	
Explicação:
O PostgreSQL é um SGBD baseado em processos, não em tread  o que implica que a cada nova conexão é criado um novo processo no sistema operacional, denominados processos de backend, para atender ao usuário.
	
	
	
	 
		
	
		2.
		O processo dos PostgreSql responsável pela gravação do Log de Transações é o 
	
	
	
	Writer
	
	
	Receiver
 
	
	
	Logger
	
	
	Archive
	
	
	Wal writer
	
Explicação:
WAL writer  - realiza a gravação no disco das operações existentes nos buffers do log (WAL buffers)  em intervalos definidos no arquivo de configuração do PostgreSQL
	
	
	
	 
		
	
		3.
		O arquivo do PostgreSql que define quem pode acessar o SGBD é o 
	
	
	
	password.conf  
 
	
	
	postgresql.conf
	
	
	pg_data.conf
	
	
	pg_hba.conf
	
	
	pg_ident.conf
	
Explicação:
pg_hba.conf  - é o arquivo de configuração para autenticação dos usuários. Funciona determinando quem pode acessar a base de dados.
	
	
	
	 
		
	
		4.
		Qual comando utilizado para conceder as permissões de SELECT e INSERT na tabela aual1 para o usuário db1.
	
	
	
	REVOKE INSERT ON aula1 FROM db1;
	
	
	Select * from aula1 TO db1;
	
	
	Alter SELECT, INSERT ON aula1 TO db1;
	
	
	Grant SELECT, INSERT ON db1 TO aula1;
	
	
	Grant SELECT, INSERT ON aula1 TO db1;
	
Explicação:
GRANT { { SELECT | INSERT | UPDATE | DELETE | RULE | REFERENCES | TRIGGER }
[...] | ALL [ PRIVILEGES ] }
ON [ TABLE ] nome_da_tabela [, ...]
TO { nome_do_usuário | GROUP nome_do_grupo | PUBLIC } [, ...] [ WITH GRANT OPTION ]
Privilégios possíveis:
· SELECT¿ Permite consultar os dados do objeto.
· INSERT¿ Permite inserir (INSERT) novas linhas.
· UPDATE¿ Permite modificar (UPDATE) os dados de qualquer coluna e de qualquer linha da tabela.
· DELETE¿ Permite eliminar (DELETE) linhas.
· RULE¿ Permite criar regras para o objeto.
· REFERENCES¿ Permite criar chaves estrangeiras na tabela.
· TRIGGER¿ Permite a criação de gatilhos na tabela.
	
	
	
	 
		
	
		5.
		A estrutura de memória do PostGreSql que armazena as operações de log e os blocos de dados denomina-se
	
	
	
	Shared Buffers
	
	
	Work_Mem
	
	
	Shared Memory
	
	
	Temp_Buffers
 
	
	
	WAL Buffers
	
Explicação:
A Shared Memory-  é a memória do servidor sendo dividida em :
Shared Buffers ¿ armazena os blocos de dados enquanto estão na memória
WAL Buffers ¿ armazena as operações do log de transações até serem salvas no disco
	
	
	
	 
		
	
		6.
		Acesso de usuários, erros ou problemas com lock e outras operações que aconteceram no servidor são registradas pelo processo
	
	
	
	Logger
	
	
	Writer
	
	
	Archive
	
	
	Receiver
 
	
	
	Wal writer
	
Explicação:
Logger - registrar o que acontece na operação do SGBD, como acesso de usuários, erros ou problemas com locks. Não confundir com o LOG DE TRANSAÇÕES que como vimos no PostGreSql é denominado WAL
	
	
	
	 
		
	
		7.
		A estrutura de diretórios do servidor é normalmente denominada 
	
	
	
	pgident
 
	
	
	pgconf
	
	
	pgdata
	
	
	pgbd
	
	
	pghba
	
Explicação:
A instalação do PostGreSql gera uma estrutura de diretórios denominada  pgdata
		1.
		A porta padrão para a instalação do Postgresql é a:
	
	
	
	1501
	
	
	4321
	
	
	5432
	
	
	2345
 
	
	
	6666
	
Explicação:
Todo programa para poder se comunicar em rede necessita estar associado a uma porta.
No caso do postgreSql a porta normalmente utilizada é a 5432 ( vem  proposta  por padrão) 
	
	
	
	 
		
	
		2.
		Qual a finalidade do pgAdmin4?
	
	
	
	Sistema de gerenciamento de banco de dados
	
	
	Utilitário de terminal baseado em Node.
	
	
	Ferramenta grpafica de administração do banco de dados PostgreSQL.
	
	
	Utilitário de compilação.
	
	
	Biblioteca para gerar históricos de comando no psql.
	
Explicação:
O pgAdmin é a plataforma de administração e desenvolvimento Open Source mais popular e com mais recursos para o PostgreSQL
	
	
	
	 
		
	
		3.
		Como se denomina a instalação por pacotes pré-compilados que não estejam no repositório da distribuição do Linux?
	
	
	
	Repository  Archives
	
	
	External Package  Archives
	
	
	External Package
 
	
	
	Personal Package 
	
	
	Personal Package Archives
	
Explicação:
PPA (Personal Package Archives) nada mais são do que repositórios ( servidores na internet) onde se encontram os programas que não estão nos repositórios oficiais da sua distro
	
	
	
	 
		
	
		4.
		Para fazer a instalação pelo repositório no Ubuntu você irá utilizar a ferramenta:
	
	
	
	make
 
	
	
	install
	
	
	wget
	
	
	sudo
	
	
	apt-get
	
Explicação:
apt-get permite que voce baixe e instale programas no Debian/Ubuntu a partir de repositórios.
	
	
	
	 
		
	
		5.
		Após a instalação do postgreSQL no Windows, estará disponível na barra de programas o Stake Build, o pgAdmin 4, o SQL Shell e a Documentação. Assinale a alternativa que explica o SQL Shell?
	
	
	
	Biblioteca padrão de compressão.
	
	
	Utilitário executado a partir da linha de comando para trabalhar com bancos de dados.
	
	
	Utilitário de compilação.
	
	
	Biblioteca para gerar históricos de comando no psql.
	
	
	Compilador da linguagem C.
	
Explicação:
Utilitário de linha de comando que permite digitar comandos interativamente, submetê-los para o PostgreSQL e ver os resultados.
	
	
	
	 
		
	
		6.
		Para baixar os fontes no Ubuntu Server para fazer a instalação será utilizado:
	
	
	
	make
 
	
	
	sudo
	
	
	wget
	
	
	install
	
	
	apt-get
	
Explicação:
O wget é um aplicativo de linha de comando que permite recuperar arquivos da web utilizando diversos tipos de protocolos (HTTP, HTTPS,FTP).
		1.
		Qual das opções abaixo  é um passo para  adicionar o diretório dos binários ao path do superusuário no Linux do banco (postgres) e definir a variável de ambiente PGDATA que indica o diretório de dados do SGBD? 
	
	
	
	Acrescente a linhas ao arquivo HBA.CONF
	
	
	conceder permissão 777 para o usuário postgres
	
	
	Faça conexão como o usuário ROOT.
	
	
	Criar um novo arquivo bashrc.
	
	
	Editar o arquivo bashrc.
	
Explicação:
Para adicionar o diretório dos binários ao path do superusuário do banco (postgres) e definir a variável de ambiente PGDATA que indica o diretório de dados do SGBD, você deve seguir os seguintes passos:
01 Faça conexão como o usuário Postgres: su - postgres
02 Edite o arquivo bashrc: vi ~/.bashrc
03 Acrescente as seguintes linhas ao arquivo: PATH=$PATH:/usr/local/pgsql/bin:$HOME/bin PGDATA=/db/data/ export PATH PGDATA
	
	
	
	 
		
	
		2.
		
O arquivo que impede que o PostGreSql seja executado em duplicidade é o:
	
	
	
	pg_hba.conf  
	
	
	pg_ident.conf 
	
	
	postmaster.pid
	
	
	postmaster.opts
	
	
	postgresql.conf 
 
	
Explicação:
postmaster.pid: é um arquivo lock para impedir a execução do PostgreSQL duplicado,contendo o PID do processo principal em execução e outras informações, tais como a hora em que o serviço foi iniciado;
	
	
	
	 
		
	
		3.
		A criação de um novo cluster de banco de dados é realizada utilizando o utilitário:
	
	
	
	cluster 
	
	
	createcluser 
	
	
	createdb 
	
	
	initdb 
	
	
	newdb 
 
	
Explicação:
initdb
Este utilitário de linha de comando cria um cluster de banco de dados do PostGreSql.
Para isso ele irá criar os diretórios  onde os banco de dados vão ser armazenados, gerar o catálogo do banco de dados  e criará o banco de dados de modelo (template1).
	
	
	
	 
		
	
		4.
		Para iniciar o banco de dados voce deve utilizar o aplicativo
 
	
	
	
	pg_run
 
	
	
	pg_start
 
	
	
	pg_dbstart
 
	
	
	pg_ctl
 
	
	
	pg_startdb
 
	
Explicação:
O pg_ctl é um aplicativode linha de comando do SO que permite  iniciar, parar ou reiniciar PostgreSQL 
	
	
	
	 
		
	
		5.
		Para forçar o postmaster a reler os arquivos de configuração sem parar o servidor o modo do pg_ctl deve ser:
	
	
	
	start
	
	
	restart
	
	
	review
 
	
	
	stop
	
	
	reload
	
Explicação:
recarregar (reload) força o postmaster, a ler novamente os arquivos de configuração (postgresql.conf, pg_hba.conf, etc.). Desta forma as opções do arquivo de configuração que não requerem o reinício completo  passam a valer
	
	
	
	 
		
	
		6.
		O tipo de parada do Postgresql que equivale ao servidor ser desligado por falta de energia é o:
 
	
	
	
	Fast
	
	
	Smart
	
	
	Immediate
 
	
	
	Transacional
	
	
	Abort
	
Explicação:
Existem 3 modos de parada no PostGreSql:
Smart (inteligente) aguarda todos os clientes desconectarem. Este é o padrão. 
Fast (rápido) não aguarda os clientes desconectarem. Realiza rollback das transações ativas e desconecta os clientes e o servidor é parado. 
Immediate (imediato) é similar ao servidor ser desligado por falta de energia. 
		1.
		Para alterar o nome de um database de aula para prova o comando seria:
	
	
	
	ALTER DATABASE  aula RENAME TO prova
	
	
	RENAME DATABASE AULA TO PROVA
 
	
	
	ALTER DATABASE  RENAME aula  TO prova
	
	
	ALTER DATABASE  aula NEW_NAME prova
	
	
	ALTER DATABASE  aula NEWNAME prova
	
Explicação:
Para alterar o nome do banco de dados o comando é:
ALTER DATABASE nome RENAME TO novo_nome
	
	
	
	 
		
	
		2.
		Qual é utilizado para criar uma base de dados. Assinale a resposta correta.
	
	
	
	number 1 database
	
	
	primary database
 
	
	
	new database
	
	
	create database
	
	
	database create
	
Explicação:
O comando para criar base de dados é o CREATE DATABASE, cuja sintaxe é:
CREATE DATABASE nome
    [ [ WITH ] [ OWNER [=] dono_do_banco_de_dados ]
        [ TEMPLATE [=] modelo ]
        [ ENCODING [=] codificação ]
	
	
	
	 
		
	
		3.
		Assinale o resultado do comando: Drop Database Aula1;
	
	
	
	O comando irá acesar a base de dados
	
	
	O comando irá alterar a base de dados
	
	
	O comando irá remover a base de dados
	
	
	O comando irá criar uma base de dados
	
	
	O comando irá duplicar a base de dados
	
Explicação:
O comando Drop Database, remove base de dados.
Para confirmar se base de dados foi removida execute o comando:
Select oid, datname from pg_databases;
	
	
	
	 
		
	
		4.
		Para criar um novo database chamado prova como cópia do database aula o comando seria:
	
	
	
	CREATE DATABASE prova TEMPLATE aula;
	
	
	CREATE DATABASE prova TEMPLATE template1;
	
	
	CREATE DATABASE prova TEMPLATE template0;
	
	
	COPY DATABASE aula TO prova
	
	
	CREATEDB prova TEMPLATE aula;
 
	
Explicação:
O Comando CREATE DATABASE funciona fazendo uma copia de um banco de dados existente para o novo banco de dados.
Fazer está cópia significa criar no novo banco os objetos básicos com modelo como esquemas, tabelas de catalogo, linguagem suportada etc
SINTAXE É
CREATE DATABASE nome_do_banco_de_dados TEMPLATE banco_modelo;
	
	
	
	 
		
	
		5.
		NO PGADMIN4 para eliminar um banco de dados ao clicar com o botão direito no nome do banco voce deve escolher no menu de contexto a opção:
	
	
	
	DELETE
 
	
	
	DELETE/DROP
	
	
	DROP
	
	
	ALTER DATABASE
	
	
	PROPERTIES
	
Explicação:
Para eliminar um database clique com o botão direito no seu nome e escolha DELETE/DROP
	
	
	
	 
		
	
		6.
		Como é chamado o diretório onde ficam armazenadas as bases de dados, existindo um diretório para cada base de dados.
	
	
	
	pg_log
	
	
	Base
	
	
	pgdata/pg_clog
	
	
	pgdata/pg_serial
	
	
	Global
	
Explicação:
Diretório Base, resposta correta.
 
Diretórios de Transação
pgdata/pg_clog.
pgdata/pg_serial.
 
Diretório de LOG
pg_log.
 
Contém os dados das tabelas com visibilidade em todo o cluster como as do catálogo.
Diretório Global.
		
		Analise o comando executado abaixo e selecione a resposta correta
DROP SCHEMA base1;
\dn
	
	
	
	Deleta e confirma a remoção do esquema base1
	
	
	Altera e confirma a alteração do esquema base1
	
	
	Para a base e confirma a parada do esquema base1
	
	
	Duplica e confirma a duplicação do esquema base1
	
	
	Cria e confirma a criação do esquema base1
	
Explicação:
Você pode eliminar um esquema com o comando DROP SCHEMA, cuja sintaxe é:
DROP SCHEMA nome [, ...] [ CASCADE | RESTRICT ]
Onde:
 
· NOME: nome do esquema.
· CASCADE: apaga automaticamente os objetos do esquema.
· RESTRICT: não apaga o esquema se ele contiver algum objeto. É o padrão.
 
Para confirmar:
\dn
	
	
	
	 
		
	
		2.
		Para estabelcer o caminhod e procura como public e aula , nesta ordem o comando é:
	
	
	
	SET search_path TO public, aula;
	
	
	CREATE search_path public, aula;
	
	
	ALTER  search_path public, aula;
	
	
	ALTER  search_path TO public, aula;
	
	
	SET search_path  public, aula;
 
	
Explicação:
A sintaxe para estabelecer o caminho de procura é SET search_path TO
	
	
	
	 
		
	
		3.
		Para criar um esquema no banco de dados o comando é
	
	
	
	Create Schema
	
	
	New Schema
	
	
	New Esquema
	
	
	Create Schema on database
	
	
	Create Esquema 
	
Explicação:
o Comando para criação de esquemas é o Create Schema
	
	
	
	 
		
	
		4.
		O esquema que normalmente é criado a partir do template1 é o :
	
	
	
	TEMPLATE0
	
	
	GLOBAL
 
	
	
	NORMAL
	
	
	POSTGRES
	
	
	PUBLIC
	
Explicação:
O esquema public é normalmente criado em um novo banco de dados devido a existir  no modelo padrão template1
	
	
	
	 
		
	
		5.
		No PGADMIN4 para alterar o nome de um esquema ao clicar com o botão direito no nome do esquema você deve escolher
	
	
	
	SET
	
	
	CREATE
	
	
	PROPERTIES
	
	
	REFRESH
 
	
	
	ALTER
	
Explicação:
Para alterar o nome ou proprietário de um esquema utilizando a interface gráfica voce deve selecionar properties no menu de contexto que aparece ao se clicar com o botão direito no nome do esquema.
	
	
	
	 
		
	
		6.
		Para criar um esquema chamdo aula como uma tabela de mesmo nome dentro o comando seria:
 
	
	
	
	Create Table aula (mat integer) from Create Schema aula
	
	
	Create Schema aula authorization Create Table aula (mat integer)
 
	
	
	Create Schema aula  Create Table aula (mat integer)
	
	
	Create Schema aula and Create Table aula (mat integer)
	
	
	Create Schema aula with Create Table aula (mat integer)
	
Explicação:
A sintaxe para criação do esquema é CREATE SCHEMA AUTHORIZATION nome_do_usuário [ elemento_do_esquema [ ... ] ]
Onde:
elemento_do_esquema é um comando SQL definindo um objeto a ser criado no esquema.
		O comando para eliminar uma espaço de tabelas é:
	
	
	
	Delete tablespace
	
	
	Delete tablespace on database
	
	
	Drop tablespace
	
	
	Drop tablespace on database
	
	
	Truncate tablespace
	
Explicação:
O comando para eliminar tablespaces é o Drop Tablespace
	
	
	
	 
		
	
		2.
		Assinale a alternativa INCORRETA, a respeito do comando:
CREATE TABLESPACE nome_do_espaço_de_tabelas [OWNER nome_do_usuário] LOCATION 'diretório'
	
	
	
	nome_do_espaço_de_tabelas: O nome do espaço de tabelas a ser criado.
	
	
	Diretório: O local no disco onde o tablespace será criado. Deverá ser um diretório vazio e pertencente ao usuário de sistema do PostgreSQL. Deve ser especificado como um caminho absoluto.
	
	
	Os nomes dos espaços de tabela podem começar com pg_.
	
	
	Se omitido o nome do proprietário da tablespace, o proprietário será o usuário que executou o comando.
	
	
	nome_do_usuário: Nome do proprietário da tablespace.
	
Explicação:
O comando que cria um espaço de tabela é o CREATE TABLESPACE e sua sintaxe é:
CREATE TABLESPACE nome_do_espaço_de_tabelas [OWNER nome_do_usuário] LOCATION 'diretório'
Onde:
· nome_do_espaço_de_tabelas: O nome do espaçode tabelas a ser criado, sendo que não deve começar com pg_, já que este prefixo é reservado para as tablespaces do sistema.
· nome_do_usuário: Nome do proprietário da tablespace. Se omitido, o proprietário será o usuário que executou o comando.
· Diretório: O local no disco onde o tablespace será criado. Deverá ser um diretório vazio e pertencente ao usuário de sistema do PostgreSQL. Deve ser especificado como um caminho absoluto.
	
	
	
	 
		
	
		3.
		Ao dar o comando ALTER TABLESPACE podem ser alterados:
 
	
	
	
	Apenas o nome.
 
	
	
	O nome, o diretorio e o proprietario
	
	
	O nome e o proprietário
	
	
	O diretorio e o nome
	
	
	O diretório e o proprietário
	
Explicação:
O comando que altera um espaço de tabela é o ALTER TABLESPACE e sua sintaxe é:
ALTER TABLESPACE nome RENAME TO novo_nome
ALTER TABLESPACE nome OWNER TO novo_dono
	
	
	
	 
		
	
		4.
		No PGADMIN4 para alterar um tablespace ao clicar com o botão direito no nome  você deve escolher
	
	
	
	ALTER
	
	
	CREATE
	
	
	REFRESH
 
	
	
	PROPERTIES
	
	
	SET
	
Explicação:
Para alterar um tablespace clique com o botão direito e selecione properties 
	
	
	
	 
		
	
		5.
		O comando do psql que mostra todos os tablespaces é o
	
	
	
	\dn
	
	
	\dt
	
	
	\db
	
	
	\D
 
	
	
	\d
	
Explicação:
Para ver as tablespace existentes você pode utilizar o comando \db no psql
	
	
	
	 
		
	
		6.
		O elemento que permite que voce armazena tabelas muito acessadas em um disco mais rápido denomina-se
	
	
	
	Esquema
	
	
	Database
	
	
	Schema
	
	
	Data File
 
	
	
	Tablespace
	
Explicação:
O uso de tablespaces permite que os administradores do Postgresql definam locais para armazenamento dos arquivos de objetos do banco de dados em outros locais que não o pgdata
		1.
		Três dos privilégios que podem ser concedidos em tabelas do PostGreSql são:
	
	
	
	SELECT, EXECUTE, INSERT
 
	
	
	SELECT, TRIGGER, RULE
	
	
	SELECT , DELETE, USAGE
	
	
	DELETE, DROP, ALTER
	
	
	DELETE , UPDATE , CREATE
	
Explicação:
São privilégios de tabelas:
SELECT -  permite consultar os dados do objeto
INSERT - permite inserir (INSERT) novas linhas 
UPDATE - permite modificar (UPDATE) os dados de qualquer coluna e de qualquer linha da tabela
DELETE -  Permite eliminar  (DELETE) linhas.
RULE -  permite criar regras para o objeto
REFERENCES ¿ permite criar chaves estrangeiras na a.
TRIGGER - permite a criação de  gatilhos na tabela 
	
	
	
	 
		
	
		2.
		Para criarmos uma role com direito de conexão ao banco de dados e senha o comando seria
	
	
	
	CREATE ROLE prova CONNECTION PASSWORD '12345'
 
	
	
	CREATE ROLE prova PASSWORD '12345'
	
	
	CREATE ROLE prova LOGIN PASSWORD '12345'
	
	
	CREATE ROLE LOGIN PASSWORD '12345'
	
	
	CREATE ROLE prova LOGIN '12345'
	
Explicação:
SINTAXE
CREATE ROLE nome [ [ WITH ] opção [ ... ] ]
OPÇÕES
LOGIN | NOLOGIN : determina se a role pode ou não fazer login no cluster
PASSWORD 'senha' : define a senha de uma role. 
	
	
	
	 
		
	
		3.
		Qual o comando utilizado para conceder as permissões de SELECT e INSERT sobre a tabela aula para o usuário db1.
	
	
	
	Grant SELECT, INSERT ON db1 TO aula;
	
	
	Grant SELECT, INSERT ON aula TO db1;
	
	
	Grant SELECT ON aula TO db1;
	
	
	Create SELECT, INSERT ON aula TO db1;
	
	
	SELECT * from  INSERT ON aula TO db1;
	
Explicação:
GRANT { { SELECT | INSERT | UPDATE | DELETE | RULE | REFERENCES | TRIGGER }
[...] | ALL [ PRIVILEGES ] }
ON [ TABLE ] nome_da_tabela [, ...]
TO { nome_do_usuário | GROUP nome_do_grupo | PUBLIC } [, ...] [ WITH GRANT OPTION ]
Privilégios possíveis:
· SELECT¿ Permite consultar os dados do objeto.
· INSERT¿ Permite inserir (INSERT) novas linhas.
· UPDATE¿ Permite modificar (UPDATE) os dados de qualquer coluna e de qualquer linha da tabela.
· DELETE¿ Permite eliminar (DELETE) linhas.
· RULE¿ Permite criar regras para o objeto.
· REFERENCES¿ Permite criar chaves estrangeiras na tabela.
· TRIGGER¿ Permite a criação de gatilhos na tabela.
	
	
	
	 
		
	
		4.
		O comando do psql que mostra todos os usuários  é o
	
	
	
	\du
 
	
	
	\d
	
	
	\dn
	
	
	\dt
	
	
	\db
	
Explicação:
Para verificarmos os usuário do SGBD basta consultar  o sistema com o comando \du
	
	
	
	 
		
	
		5.
		No PostgreSql o controle de acesso e de privilégios é realizado a através de:
 
	
	
	
	USERS
	
	
	PERFIS
	
	
	LOGINS
 
	
	
	USUÁRIOS
	
	
	ROLES
	
Explicação:
No PostgreSql o controle de acesso e a concessão dos privilégios é realizada através de roles.
	
	
	
	 
		
	
		6.
		O comando GRANT concede privilégios para um ou mais usuários ou grupos de usuários  sobre objetos (tabela, visão, sequência, banco de dados, função, linguagem procedural, esquema ou espaço de tabelas).
Qual dos itens abaixo  não pode ser concedio pelo comando GRANT como privilégio de objeto?
	
	
	
	RULE
	
	
	DELETE
	
	
	ROLE
	
	
	INSERT
	
	
	TRIGGER
	
Explicação:
Privilégios possíveis:
· SELECT- Permite consultar os dados do objeto.
· INSERT- Permite inserir (INSERT) novas linhas.
· UPDATE- Permite modificar (UPDATE) os dados de qualquer coluna e de qualquer linha da tabela.
· DELETE- Permite eliminar (DELETE) linhas.
· RULE- Permite criar regras para o objeto.
· REFERENCES- Permite criar chaves estrangeiras na tabela.
· TRIGGER- Permite a criação de gatilhos na tabela.
		1.
		No arquivo pg_hba.conf linhas começadas com # são:
	
	
	
	Privilégios de acesso
 
	
	
	Concessões
	
	
	Parametros de acesso
	
	
	Comentários
	
	
	Comandos
	
Explicação:
O arquivo é organizado como um conjunto de registros, um por linha, sendo que linhas em branco ou após # ( comentário) são ignoradas
	
	
	
	 
		
	
		2.
		Os registros dentro do segmento de  WAL são identificados pelo:
	
	
	
	XID
 
	
	
	CHECKPOINT
	
	
	LOGID
	
	
	LSN
	
	
	WALID
	
Explicação:
Cada registro lançado no WAL recebe um LSN (Log Sequence Number) número de sequência de log que corresponde a um deslocamento em bytes a partir do início do segmento.
	
	
	
	 
		
	
		3.
		No arquivo pg_hba.conf valores possíveis para type são:
	
	
	
	host, local e all
	
	
	md5, trust e all
 
	
	
	host, all, md5
	
	
	local, host, trust
	
	
	host , local , hostssl
	
Explicação:
Os valores mais comuns para tipo de conexão são
local    Conexões locais do próprio servidor.
host    Conexões por IP, com ou sem SSL.
hostssl    Conexões IP com  SSL.
	
	
	
	 
		
	
		4.
		Para criar um banco de dados chamado prova utilizando o conjunto de caracteres SQL_ASCII sendo que o padrão do cluster é UTF8, deve ser dado o comando:
 
	
	
	
	CREATE DATABASE prova WITH ENCODING=UTF8;
 
	
	
	CREATE DATABASE prova WITH ENCODING=SQL_ASCII; 
	
	
	CREATE DATABASE prova WITH ENCODING=SQL_ASCII TEMPLATE=template1;
	
	
	CREATE DATABASE prova WITH ENCODING=SQL_ASCII TEMPLATE=template0;
	
	
	CREATE DATABASE prova ;
	
Explicação:
Foi utilizado o template0 porque o template1, padrão para criação utiliza UTF8 e ao tentar criar a partir dele ocorre um erro
	
	
	
	 
		
	
		5.
		No MVCC quando o id de uma transação que alterou um dado  maior que o da transação que o está consultando :
	
	
	
	Retornam os dados alterados
	
	
	Retorna um snapshot do dados coerentes com a transação de consulta
	
	
	A consulta é automaticamente reinciada
	
	
	Retorna uma mensagem de erro
	
	
	A consulta é abortada.
 
	
Explicação:
Se uma transação de consulta tem XID menor que o XID do último registro da linha isso significa que ele começou antes da alteração, o SGBD procura então nas tabelas a entrada desta linha com XID anterior ao da consulta e retorna os valores existente naquele momento do tempo. 
	
	
	
	 
		
	
		6.
		Selecione a alternativa que cria um registro no arquivo pg_hba.conf, com a seguinte caracteristica:
#Permitir que qualquerusuário de hosts da rede 10.112.4.0/24 se conectem ao banco aula1 com senha para acesso.
 
	
	
	
	# TYPE       DATABASE       USER         CIDR-ADDRESS           METHOD
  host            aula1               all                 10.112.4.0/24                md5
	
	
	# TYPE       DATABASE       USER         CIDR-ADDRESS           METHOD
  local           aula1                 all              10.112.4.0/24                md5
	
	
	# TYPE       DATABASE       USER         CIDR-ADDRESS           METHOD
  local          aula1                 aluno           10.112.4.0/24                md5
	
	
	# TYPE       DATABASE       USER         CIDR-ADDRESS           METHOD
  host            aula1               aluno           10.112.4.0/24                md5
	
	
	# TYPE       DATABASE       USER         CIDR-ADDRESS           METHOD
  local            template1        aluno           10.112.4.0/24                md5
	
Explicação:
Cada registro é formado por campos conforme o modelo abaixo:
	TYPE
	DATABASE
	USER
	ADDRESS
	METHOD
	Tipo de Conexão
	Banco de Dados
	Usuário
	Endereço IP
	Método de Autenticação
		1.
		A visão do catalogo do PostGreSql que nos mostra  é as informações de acesso para cada tabela do banco é a:
 
	
	
	
	pg_stat_activity 
	
	
	pg_stat_tables 
 
 
	
	
	pg_stat_database  
	
	
	pg_locks 
	
	
	pg_stat_all_tables
	
Explicação:
pg_stat_all_tables ¿ para cada tabela do banco de dados mostra mostra informações de acesso e funcionamento
	
	
	
	 
		
	
		2.
		O Linux fornece uma série de ferramentas para monitorar os seus processos. Entre elas, podemos destacar:
	
	
	
	ls -la
	
	
	chmod
	
	
	memorystat
	
	
	topstat
	
	
	top
	
Explicação:
Top
Ele nos permite verificar o load médio, número de processos totais e em execução, situação da memória e percentual de CPU utilizado por cada processo.
Vmstat
Esta ferramenta mostra informações dos recursos em intervalos de tempo passados por argumento.
Para executar o vmstat atualizando as informações uma vez a cada 5 segundos, basta o seguinte comando:
vmstat 5
 
 lostat
Permite a análise do tráfego de entrada e saída.
	
	
	
	 
		
	
		3.
		Para evitar o erro de reinicio das transações a linhas da tabela devem:
	
	
	
	Ficar como estão
 
	
	
	Sofrer um congelamento
	
	
	Ser reincializadas
	
	
	Sofrer uma atualização
	
	
	Ser removidas
	
Explicação:
A volta a ¿zero¿ do XID pode gerar um efeito colateral pois transações que deveriam estar no futuro (XID grande) agora estão no inicio (XID pequeno) e o MVCC poderia não mais funcionar direito. 
A solução para isso é executar um VACUMM em cada tabela a cada, pelo menos, um bilhão de transações.
Esta limpeza provoca o ¿congelamento¿ (FREEZE) das linhas antigas, que nada mais é que a sinalização por um flag que aquela linha sempre está no passado de qualquer transação.
	
	
	
	 
		
	
		4.
		No PGADMIN4 para podermos realizar o VACUUM devemos escolher no menu de contexto, acionado pelo clique do botão direito no nome do banco, a opção:
	
	
	
	PROPERTIES
	
	
	CLEAN
	
	
	REFRESH
	
	
	PURGE
	
	
	MAINTENANCE
	
Explicação:
Para realizar a limpeza no PGADMIN4 clique com o botão direito no nome do banco  e selecione Maintenance
	
	
	
	 
		
	
		5.
		Utilizando a linha de comando, faça a limpeza no banco de dados postgres na tabela AULA no modo verbose.
Assinale a alternativa correta?
	
	
	
	VACCUM VERBOSE public.aula;
	
	
	VACCUM VERBOSE aula
	
	
	VACCUM public.aula
	
	
	VACCUM VERBOSE aula;
	
	
	VACCUM VERBOSE public.aula
	
Explicação:
O comando VACUUM possui a seguinte sintaxe:
VACUUM [ FULL | FREEZE ] [ VERBOSE ] [ tabela ]
VACUUM [ FULL | FREEZE ] [ VERBOSE ] ANALYZE [ tabela [ (coluna [, ...] ) ] ]
Onde:
· FULL - Realiza a limpeza completa liberando imediatamente o espaço em disco.
· FREEZE - Realiza um congelamento agressivo das tuplas. Quando selecionado FULL, o congelamento é realizado implícitamente.
· VERBOSE - Mostra, para cada tabela, um relatório detalhado da atividade de limpeza.
· ANALYZE - Se selecionado após o Vacuum, é realizada atualização das estatísticas utilizadas pelo planejador.
· Tabela - O nome (opcionalmente qualificado pelo esquema) da tabela específica a ser limpa. Por padrão, todas as tabelas do banco de dados corrente.
· Coluna - O nome da coluna a ser analisada, por padrão, todas as colunas.
	
	
	
	 
		
	
		6.
		Para recuperarmos todo espaço não utilizado pelos dados devemos dar o comando
 
	
	
	
	VACUUM
	
	
	VACUUM FREEZE
	
	
	PURGE
	
	
	VACUUM FULL
	
	
	PURGE ALL
 
	
Explicação:
VACUUM FULL ¿ neste tipo a tabela é compactada, eliminando o espaço livre entre as tuplas e devolvendo o espaço em disco para o SO.
		1.
		Utilizando a linha de comando, faça a limpeza no banco de dados postgres na tabela AULA no modo verbose
	
	
	
	-c
	
	
	-a
	
	
	-s
 
	
	
	-d
	
	
	-f
	
Explicação:
-s  --schema-only  Salva somente o esquema (definições dos dados), não os dados.
	
	
	
	 
		
	
		2.
		Usando a linha de comando crie um backup para o bando de dados ESTACIO, com a seguinte caracteristica.
Não informar nem usuário e nem o host da conexão. Desta forma o pg_dump assume que você realizará o login na própria máquina (localhost) e utilizará o mesmo usuário que está logado no sistema operacional.
Informar que o arquivo de saída sera do tipo TAR.
Criar o arquivo chamado aula.tar.
 
Assinale a alternativa correta?
	
	
	
	pg_dump -Fp -f aula ESTACIO;
	
	
	pg_dump -Ft -f aula ESTACIO;
	
	
	pg_dump -Fc -f aula.tar ESTACIO;
	
	
	pg_dump -Fc -f aula ESTACIO;
	
	
	pg_dump -Ft -f aula.tar ESTACIO;
	
Explicação:
Para utilizar o pg_dump, a sintaxe é a seguinte:
pg_dump [opção...] [nome_do_banco_de_dados]
	
	
	
	 
		
	
		3.
		Para fazer o dump no formato personalizado o comando deverá ter a opção
	
	
	
	-f c
	
	
	-f t
	
	
	-F p
 
	
	
	-F c
	
	
	-f p
	
Explicação:
-f arquivo --file=arquivo - Envia a saída para o arquivo especificado. Se for omitido é usada a saída padrão.
-F formato --format=formato  Seleciona o formato da saída. O formato pode ser um dos seguintes: 
p - Gera um arquivo de script SQL no formato texto-puro (padrão)
t -  Gera um arquivo tar adequado para servir de entrada para o pg_restore. 
c - Gera um arquivo personalizado adequado para servir de entrada para o pg_restore. Este é o formato mais flexível.
	
	
	
	 
		
	
		4.
		A opção do pg_restore que restaura apenas os dados -e
 
	
	
	
	-c
	
	
	-a
	
	
	-f
	
	
	-d
	
	
	-s
	
Explicação:
A sintaxe do pg_restore é:
pg_restore [opção...] [nome_da_cópia_de_segurança]
Onde:
nome_da_cópia_de_segurança - local do arquivo do backup a ser restaurado.
As principais opções são: 
-a  - Restaura apenas os dados, não o esquema (definições de dados).
	
	
	
	 
		
	
		5.
		Assumindo que você tenha um banco de dados chamado aula_bd,  crie um arquivo de cópia de segurança com nome aula.dump no formato personalizado:
Escolha a alternativa correta?
	
	
	
	pg_dump -Fo aula_bd > aula.dump
	
	
	pg_dump -Fc aula.dump > aula_bd
	
	
	pg_dump -Ft aula_bd > aula.dump
	
	
	pg_dump -Ft aula.dump > aula_bd
	
	
	pg_dump -Fc aula_bd > aula.dump
	
Explicação:
Para utilizar o pg_dump, a sintaxe é a seguinte:
pg_dump [opção...] [nome_do_banco_de_dados]
	
	
	
	 
		
	
		6.
		Para ativar o arquivamento dos segmentos de wal no servidor voce deve configurar os seguintes parametros no postgresql.conf
 
	
	
	
	wal_level e archive_mode
	
	
	wal_level, archive_level e archive_command
 
	
	
	wal_mode, archive_level e archive_command
	
	
	archive_level e archive_command
	
	
	wal_level e archive_level
	
Explicação:
Voce pode arquivar os segmentos manualmente, o que é sujeito a erros, ou pode ativar ao arquivamento no servidor. Para tanto, é necessário configurar três opções do postgresql.conf:
wal_level = opção -  Deve ser definidocomo archive ou hot_standby pois a duas permitem o arquivamento do log ;
archive_mode = on -  precisa estar ligado para podermos executar o comando de arquivamento
archive_command= `texto¿ ¿ onde texto deve ser um comando de cópia de arquivos do sistema operacional

Outros materiais