Escolar Documentos
Profissional Documentos
Cultura Documentos
Apresentação
Apesar de termos realizado a instalação do SGBD, dependendo do SO e tipo de
instalação, ele ainda não estará pronto para ser utilizado.
Temos ainda que criar a estrutura do diretório que contém os arquivos de
dados , denominada cluster, do banco de dados e fazer a sua configuração
inicial.
Além disso veremos nesta aula como parar e iniciar o servidor e como fazer
conexão ao mesmo.
Objetivos
1
Conteúdo online
Operações pós instalação
su - postgres
vi ~/.bashrc
PATH=$PATH:/usr/local/pgsql/bin:$HOME/bin
PGDATA=/db/data/
export PATH PGDATA
source .bashrc
2
1.2. Configurando no Windows
Caixa de atenção
Para as configurações e administração do banco de dados estamos
utilizando um postgreSql 12 instalado em um windows server 19 na AWS
Fim caixa de atenção
3
Na próxima janela escolha environment
variables
4
Defina o nome da variável e seu valor
5
2. Inicializando a área de dados
Agora para que o SGBD funcione é necessário que seja realizada a inicialização
da área de dados do SGBD, que é denominada cluster de banco de dados
6
Quando se realiza a instalação no LINUX a partir dos pacotes ou no Windows a
área de dados é, normalmente, criada de forma automática, se a instalação foi
realizado via os fontes voce deve criar esta área.
Caixa de atenção
2.1. 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) que terá seu estrutura copiada para todos os banco de dados que forem
criados posteriormente.
Link catálogo
O catálogo é um conjunto de tabelas que armazenam as informações utilizadas pelo
SGBD para fazer o gerenciamento do sistema.
Elas não pertencem a nenhum banco de dados em particular mas são
compartilhadas com todos.
7
Fim link catalogo
Este utilitário deve ser executado pelo mesmo usuário que vai executar o servidor (o
usuário postgres). Pois este necessita ter acesso aos arquivos e diretórios criados
pelo utilitário.
No Linux embora o initdb tente criar o diretório , poderá ocorrer dele não conseguir
por falta de permissão de acesso, porque geralmente o diretório é um subdiretório
de um diretório do root.
Para resolver esta situação voce deve se logar como root criar o diretório vazio e
usar o comando chow para tornar o postgres o proprietário do diretório como no
seguinte exemplo:
sudo chown -R postgres /db
Caixa de atenção
No Windows voce pode executar o initdb como admin do SO.
8
--pgdata=diretório
Determina o diretório onde o cluster de banco de dados será armazenado. É a única
opção obrigatória.
Quando existe a variável de ambiente PGDATA, você não precisa definir o diretório
-E codificação
--encoding=codificação
Determina a codificação do banco de dados de modelo.
--locale=idioma
Determina, para o cluster, o idioma padrão. Se omitida o idioma é herdado do
ambiente.
-U nome_do_usuário
--username=nome_do_usuário
Especifica o superusuário do banco de dados.
Se omitido assume o nome do usuário executando o initdb.
Caixa de atenção
Normalmente é preferível manter o nome postgres como superusuário
Vejamos agora um exemplo utilizando o ambiente do Windows server
Repare no comando initdb “C/postgres/data”
Caixa de Atenção
Foi direcionada a criação para um diretório diferente de PGDATA porque na
instalação do Windows já havia sido criado um cluster na localização padrão
Fim caixa de atenção
9
Foi criado o diretório e as demais estruturas conforme voce pode ver na figura 1.
Note particularmente os arquivos de configuração presente (pg_hba e postgresql)
10
2.2. Iniciando o PostgreSQL
Um vez criado o cluster temos que inicializa-lo.
Caixa de atenção
Novamente na instalação do Windows e por pacotes a inicialização é realizada
automaticamente.
Fim caixa de atenção
No Windows como ele se instala com um serviço voce deve iniciar ou para o serviço
no painel de controle:
11
Porém, a forma mais simples de iniciar o banco em background é usando o utilitário
pg_ctl.
2.3. pg_ctl
O pg_ctl é um aplicativo de linha de comando do SO que permite iniciar, parar ou
reiniciar PostgreSQL
Apesar de ser possível poder iniciar o servidor manualmente este utilitário facilita o
trabalho por fornecer um conjunto de parâmetros para controlar a parada.
Os modos disponíveis são:
iniciar (start), inicia o servidor
parar (stop), para o servidor referente ao cluster especificado.
reiniciar (restart) para e a seguir reinicia o cluster.
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
Vejamos um exemplo:
12
Observe o comando
pg_ctl -D “C/postgres/data” start
Parando o Servidor
Para parar o servidor a sintaxe é:
pg_ctl stop [-W] [-D diretório_de_dados] [-m s[mart] | f[ast] | i[mmediate] ]
- D diretório_de_dados
Informa o diretório dos arquivos de dados do cluster. Se não for informado é utilizado
o estabelecido na variável de ambiente PGDATA.
-W
Padrão para inícios e reinícios, não aguarda o termino da operação anterior.
-m modo
Especifíca o modo de parada (shutdown). O modo pode ser smart, fast ou
immediate, ou a primeira letra de um desses três.
13
pg_ctl stop -D “C\program files\postgreSQL\12\data”
Neste caso foi parado o cluster que havia sido instalado automaticamente pelo
instalador do Windows.
Caixa de atenção
Note que os comandos são emitidos no prompt de comando do Windows e dentro
do diretório bin no caso C\program files\postgreSQL\12\bin onde ficam os utilitário
Fim caixa de atenção
pg_ctl restart [-w] [-D diretório_de_dados] [-m s[mart] | f[ast] | i[mmediate] ] [-o
opções]
pg_ctl reload [-D diretório_de_dados]
3. CONEXÕES NO POSTGRESQL
Para realizar uma conexão no postgresql a partir da máquina local você pode utilizar
14
ou o psql ou o pgadmin.
3.1. PSQL
O PSQL é uma ferramenta de linha de comando para consultar e administrar dados
no Postgresql.
Ela pode ser chamada via terminal no Linux bastando após e logar com postgres
comandar
$ psql
Quando acionado assim, sem parâmetros, ele tentará realizar a conexão ao servidor
na máquina local, na porta padrão 5432 e na base “postgres”.
Para acessar uma máquina remota a linha de comando deverá informar estes
parâmetros com por exemplo
-h é o servidor (host)
-p a porta
-d a base (database)
-U o usuário
15
Fig 2 programas instalados no windows
No caso cada valor entre colchetes é o padrão que será utilizado se voce der enter
na linha.
16
Porta – 5432
Usuário – postgres
Além dos comandos do PostgreSQL, o psql possui uma série de comandos próprios
que facilitam tarefas rotineiras.
17
Para executar um comando SQL ou de administração termine o comando com “;”
18
Para sair do psql, use \q
3.2. PGADMIN
O PGADMIN é um interface gráfica de administração do PostGreSql.
19
Fig 3 programas instalados no windows
20
Fig 4 Interface PGAdmin4
Caixa de atenção
Note que aparece apenas um database o postgres.
Os databases template0 e template1 não aparecem na listagem do PGAdmin, mas
eles existem.
Fim caixa de atenção
21
Conforme vimos na aula 1 o PostGreSql possui alguns arquivos que balizam o seu
funcionamento:
pg_hba.conf - é o arquivo de configuração para autenticação dos usuários.
Funciona determinando quem pode acessar a base de dados.
Pg_ident.conf – usado pelo esquema ident de autenticação dos Sistemas
Operacionais, mapeia usuários do SO e da base de dados. Por padrão fica vazio.
postgresql.conf – arquivo principal de configuração do SGBD. Possui uma lista
de parâmetros que controla o funcionamento do cluster.
22
Fig5 – Localização dos Arquivos de Configuração
23
4.1. Postgresql.conf
Existem diversos parâmetros de configuração que balizam o funcionamento do
servidor do PostGreSql.
Diversos deste parâmetros são definidos no arquivo postgresql.conf
A fig 6 mostra o início do arquivo instalado no servidor Windows server
24
As entradas deste arquivo obedecem a algumas regras:
Um parâmetro é especificado por linha
O sinal de igual entre o nome do parâmetro e do valor é opcional
Espaços e linhas em branco são ignorados
O caracter # insere um comentário
Valores de paramentros que não são indicadores simples ou números devem
vir entre apóstrofos(‘)
Abaixo temos um exemplo de entradas válidas:
# Isto é um comentário
log_connections = yes
log_destination = 'syslog'
search_path = '$user, public'
Caixa de atenção
Algumas alterações podem ser feitas com o servidor no ar, mas outras somente tem
efeito após a reinicialização do servidor, não adiante fazer reload.
As que exigem restart constam no próprio arquivo a informação
25
A maioria dos parâmetros do arquivo possuem comentários com suas faixas de
valores.
Os principais parâmetros são os listados na tabela abaixo
26
A edição do Arquivo pode ser realizada com qualquer editor de texto como o
NotePad do Windows ou o VI do Linux
27
Atividades
Gabarito comentado
Após a criação a instancia deve aparecer na lista de instâncias
Atividade2:
Configure o acesso remoto a área de trabalho da instancia
Para fazer a configuração siga este tutorial
Link tutorial
https://docs.aws.amazon.com/pt_br/AWSEC2/latest/WindowsGuide/
connecting_to_windows_instance.html
Gabarito Comentado:
Após a configuração deve ser possível o acesso remoto
28
Atividade3: Instalar o PostGreSql no Windows server
Realize o download e a instalação do PostgreSql no Windows Server
Gabarito Comentado:
Após a instalação devem aparecer os programas no menu do windows
29
Atividade 4: Acesse o PSQL e o PGadmin e faça conexão no SGBD.
Gabarito Comentado:
Conexão PSQL
Conexão PGADMIN
30
Referências
Manual do PostGreSql
Santos E. V. Administração do PostGreSql 1ª.Ed 2017
Caiut F – Administração de Banco de Dados 1ª.Ed 2015
Próximos passos
Explore +
31
Documentação oficial do SGBD
https://www.postgresql.org/docs/
Livro PostGreSql
https://pt.wikibooks.org/wiki/PostgreSQL_Pr%C3%A1tico
32