Académique Documents
Professionnel Documents
Culture Documents
4
Primeiros Passos no Microsoft Windows
www.masiena.com.br
marcio@masiena.com.br
masiena@hotmail.com
Uma das maiores dificuldades quando se comea a trabalhar com qualquer software dar os assim
chamados primeiros passos: instalao, configurao inicial e conceitos bsicos. Este documento um tutorial
passo-a-passo sobre como iniciar o uso do PostgreSQL verso 9.4 no Microsoft Windows.
Antes de iniciar, por gentileza, baixe o instalador a partir de http://www.postgresql.org/download/ (32 ou 64
bits, conforme o seu sistema operacional).
Este tutorial foi feito em um computador executando Microsoft Windows 8.1 64 bits, em portugus. No
entanto, as instrues so vlidas a partir do Microsoft Windows Vista. Os sites e outros recursos on-line
apresentados neste tutorial tm como data de acesso o dia 20/2/2015.
Assumimos que o leitor tenha um conhecimento bsico a respeito de projetos de bases de dados. Em
particular, no procuramos ensinar, aqui, nada relacionado. Pelo contrrio, os exemplos so propositalmente
simples, pois o objetivo apresentar o PostgreSQL.
Por gentileza, note que, como colocamos acima, so apenas os primeiros passos, nem mais, nem menos.
Para se utilizar efetivamente o produto, necessrio tempo, experincia e dedicao aos estudos (leitura,
treinamentos etc.). Tambm no procuramos aprofundar os conceitos apresentados. Pelo contrrio, damos uma
cobertura propositalmente superficial, apresentando o mnimo necessrio para se iniciar.
PostgreSQL Primeiros Passos no Microsoft Windows Mrcio A. Siena Pgina 2 de 25
Sumrio
1. Instalao do PostgreSQL 9.4 no Microsoft Windows .............................................................................................. 3
2. O servio do PostgreSQL ......................................................................................................................................... 5
3. O pgAdmin III e o psql.exe ........................................................................................................................................ 7
3.1. O pgAdmin III .................................................................................................................................................... 7
3.2. O psql.exe ....................................................................................................................................................... 10
4. Exemplo passo a passo de criao de base de dados .......................................................................................... 10
4.1. Criao de um tablespace chamado vendas .................................................................................................. 10
4.2. Criao de uma base de dados vendas_db dentro do tablespace vendas .................................................... 13
4.3. Criao de um schema comercial dentro da base vendas_db ....................................................................... 13
4.4. Criao de uma tabela de dados Clientes dentro do schema comercial........................................................ 14
5. Acesso de usurios ao PostgreSQL ....................................................................................................................... 19
5.1. Criao de um login role chamado acesso_web ............................................................................................ 19
5.2. Edio dos arquivos pg_hba.conf e postgresql.conf ...................................................................................... 20
5.3. Criao de um Group Role chamado vendas_pela_web ............................................................................... 21
5.4. Colocao de um login role (acesso_web) dentro de um group role (vendas_pela_web) ............................. 21
5.5. Atribuio de permisso de conexo de um group role (vendas_pela_web) a uma base de dados
(vendas_db) ................................................................................................................................................................. 22
5.6. Atribuio de permisso de uso de um schemas (comercial) a um group role (vendas_pela_web) ............. 23
5.7. Atribuio de permisso de uso de uma tabela (comercial.Clientes) a um group role (vendas_pela_web) .. 24
6. Ajustes no arquivo postgresql.conf ......................................................................................................................... 25
PostgreSQL Primeiros Passos no Microsoft Windows Mrcio A. Siena Pgina 3 de 25
1.3. Tela de seleo de pasta de destino. Instale em uma pasta sem espaos e sem caracteres acentuados em
seu nome, algo como C:\PostgreSQL\9.4:
No restante deste material, faremos referncia a esta pasta de instalao como <INSTALL_DIR>.
PostgreSQL Primeiros Passos no Microsoft Windows Mrcio A. Siena Pgina 4 de 25
1.4. Tela de seleo da pasta padro de dados. Instale em uma pasta sem espaos e sem caracteres
acentuados em seu nome, como C:\PostgreSQL\9.4\data. Aqui, assumiremos a pasta padro,
<INSTALL_DIR>\data:
1.5. O PostgreSQL tem uma conta de administrador chamada postgres. D uma senha adequada:
1.6. Escolha a porta de TCP a ser utilizada para a conexo dos clientes. A porta padro a 5432, e manteremos
esta escolha:
ATENO! Para que os aplicativos possam se comunicar com o PostgreSQL, necessrio abrir esta
porta de TCP/IP no firewall do Microsoft Windows.
IMPORTANTE! Aps a instalao, garanta que o firewall do Microsoft Windows permite entrada e
sada para os processos <INSTALL_DIR>\bin\pg_ctl.exe e <INSTALL_DIR>\bin\postgres.exe.
1.7. Escolha o LOCALE para exibio de moeda, classificao etc. Aqui, estamos utilizando portugus do Brasil:
1.8. Esta a sua ltima chance para voltar e fazer alteraes. Tudo ok, prossiga:
PostgreSQL Primeiros Passos no Microsoft Windows Mrcio A. Siena Pgina 5 de 25
1.10. Ao final, ser solicitada a sua permisso para executar o Application Stack Builder, um utilitrio que
baixa, da Internet, componentes opcionais do PostgreSQL. Por enquanto, no o execute. Para execut-lo
posteriormente, ative o programa <INSTALL_DIR>\bin\stackbuilder.exe (repare sua localizao em relao
pasta que escolhemos no passo1.3).
2. O servio do PostgreSQL
Nos servios do Microsoft Windows (execute services.msc para visualizar a tela abaixo), o PostgreSQL
dever aparecer como postgresql-9.4:
PostgreSQL Primeiros Passos no Microsoft Windows Mrcio A. Siena Pgina 6 de 25
Repare que o mesmo est marcado como Em Execuo e com tipo de inicializao Automtico. D um duplo
clique na linha marcada para exibir o dilogo de detalhes do servio, guia Geral:
Na guia Logon, repare que o servio inicializa sob as credenciais de Servio de Rede, ou Network Service no
Microsoft Windows em ingls:
IMPORTANTE! Esta conta deve ter direitos de leitura e de escrita nas pastas de dados do PostgreSQL,
tanto as que voc definir como aquela escolhida no passo 1.4 da instalao:
PostgreSQL Primeiros Passos no Microsoft Windows Mrcio A. Siena Pgina 7 de 25
O pgAdmin III pode ser instalado separadamente, sem o banco de dados. Basta baixar seu instalador a partir
de http://www.postgresql.org/ftp/pgadmin3/.
Aps a conexo bem sucedida, a tela ficar parecida com isso:
PostgreSQL Primeiros Passos no Microsoft Windows Mrcio A. Siena Pgina 9 de 25
selecionada, clicamos no boto SQL ( ), na barra de ferramentas do alto da tela, ou usamos a opo de menu
Tools -> Query Tool. A janela Query ser aberta:
Na barra de ttulo, destacamos o nome da base postgres em vermelho, o login postgres em amarelo, e o
servidor/porta localhost:5432 em laranja.
No painel superior, o comando SQL SELECT current_date AS Hoje; e, no inferior, seu resultado.
PostgreSQL Primeiros Passos no Microsoft Windows Mrcio A. Siena Pgina 10 de 25
3.2. O psql.exe
O psql.exe um cliente em modo texto localizado em <INSTALL_DIR>\bin\psql.exe. Para execut-lo, abra
um prompt de comando (cmd.exe), v para <INSTALL_DIR>\bin e execute o comando. Para ver todas as opes,
execute:
psql.exe --help
Uma linha de comando bastante comum :
psql.exe -h localhost -p 5432 -U postgres -d postgres
onde:
-h localhost p 5432: host e porta de conexo;
-U postgres: nome do login;
-d postgres: nome da base de dados desejada (os comandos sero emitidos contra ela).
Note que maisculas e minsculas fazem diferena nos comandos. Se a conexo tiver sucesso, voc ver
algo como:
A primeira linha o comando. A segunda, a solicitao da senha (item 1.5). As linhas que iniciam com
postgres=# so os prompts de comando.
Note o comando SELECT current_date AS Hoje;, que comea em uma linha e termina em outra. O ponto-e-
vrgula (;) o que indica o fim do comando. Logo na sequncia, o resultado de sua execuo.
Por fim, o comando \q encerra o aplicativo.
Um tablespace um nome lgico para uma pasta fsica. Vamos criar um tablespace chamado vendas, que
aponta para a pasta fsica c:\dados_pg\vendas.
4.1.1.Crie uma pasta, como c:\dados_pg\vendas.
PostgreSQL Primeiros Passos no Microsoft Windows Mrcio A. Siena Pgina 11 de 25
4.1.2.Garanta que o usurio do servio do PostgreSQL (item 2), normalmente chamado Servio de Rede,
tenha permisso de controle total na pasta c:\dados_pg\vendas. A partir do Windows Explorer, Boto
Secundrio do Mouse -> menu Propriedades -> guia Segurana -> boto Editar:
4.1.6. No pgAdmin III, no painel da esquerda (Object browser), selecione Tablespaces. V ao menu Edit ->
New Object -> New Tablespace.... Deixe assim:
PostgreSQL Primeiros Passos no Microsoft Windows Mrcio A. Siena Pgina 13 de 25
Pressione OK ao final. Veja, no Object browser, o novo tablespace. Clique no mesmo e veja, no SQL
pane, o comando SQL para a sua criao (CREATE TABLESPACE vendas...).
4.3.3.Clique OK para criar o schema comercial e observe o efeito no Object browser, que deve estar assim:
Ao criarmos um item, digamos uma tabela, dentro do schema comercial, estabelecemos uma relao
de hierarquia. Por exemplo, se chamarmos a tabela de Clientes, o nome real da tabela ser
comercial.Clientes. Isso quer dizer que, na mesma base, pode haver outras tabelas chamadas Clientes,
desde que estejam em outros schemas.
4.4.1.Selecione, no Object browser, Databases -> vendas_db -> Schemas -> comercial -> Tables.
4.4.2.V ao menu Edit -> New Object -> New Table... Na guia Properties, digite o nome Clientes e certifique-
se de que o schema seja o comercial, como em:
4.4.3.Na guia Definition, selecione o tablespace vendas, o que significa que os dados dessa tabela sero a
armazenados (item 4.1 deste tutorial):
4.4.4.Seleciona a guia Columns. Aqui, definiremos os campos (colunas) de nossa tabela. Clique no boto
Add para adicionar a primeira coluna, Cdigo:
PostgreSQL Primeiros Passos no Microsoft Windows Mrcio A. Siena Pgina 16 de 25
4.4.6.Adicione mais duas colunas, Nome e Telefone, ambas do tipo (Data type) character varying
(correspondente a varchar em outros bancos de dados). Devem ter tamanho (length) 30 e serem
no nulas (not null).
Aps a sua adio, a guia Columns dever estar assim:
PostgreSQL Primeiros Passos no Microsoft Windows Mrcio A. Siena Pgina 17 de 25
4.4.7.Vamos adicionar a chave primria tendo como nico campo o Cdigo. Selecione a guia Constraints.
Certifique-se de que o tipo de constraint selecionado seja Primary Key e clique no boto Add:
4.4.8.A janela New Primary Key... ser exibida. Sob a guia Properties, d um nome para a chave primria.
Esse nome deve ser nico na base de dados. No exemplo, usamos o esquema de nome pk_SSS_TTT,
onde SSS o nome do schema (comercial) e TTT o nome da tabela (Clientes):
4.4.9.Na guia Columns, selecione a coluna Cdigo e clique o boto Add, seguido pelo boto OK, pois no
temos mais campos a adicionar na chave primria:
PostgreSQL Primeiros Passos no Microsoft Windows Mrcio A. Siena Pgina 18 de 25
4.4.11. Clique na guia SQL. Aqui, vemos o comando SQL necessrio para criar a nossa tabela:
Repare que alguns nomes esto entre aspas. O uso das aspas diz ao PostgreSQL para preservar a
caixa (maisculas/minsculas) das letras.
Sem as aspas, tudo seria convertido para minsculas. Isso vale para todos os comandos
PostgreSQL Primeiros Passos no Microsoft Windows Mrcio A. Siena Pgina 19 de 25
enviados ao PostgreSQL que envolvam nomes (de bases de dados, de schemas, de tabelas etc.).
4.4.12. Para finalizar, clique OK. Veja, no Object browser, como ficou:
Repare, no Object browser, sob Login Roles, o novo, recm-criado, acesso_web. Se voc selecion-lo, ver
no SQL pane seu script de criao. Perceba que a senha que demos, 123, aparece como md5.... Isso porque foi
calculado o hash MD5 da palavra 123, e este foi armazenado.
Repare que, na caixa Not Member, aparecem todos os group roles dos quais acesso_web no
membro. Selecione vendas_pela_web. Se houvesse outros group roles, poderamos adicionar
acesso_web a mais de um.
Selecione vendas_pela_web e clique o boto >>.
5.4.5.Aps a seleo ter sido feita, teremos:
5.4.6. Veja o comando SQL necessrio operao (3)(4). Clique OK para finalizar.
Aqui, definimos os privilgios como ALL, o que significa, alm de usar tabelas, views etc., tambm
poder criar novos itens. No entanto, USAGE seria uma escolha mais moderada, significando que pode
usar os itens existentes apenas.
PostgreSQL Primeiros Passos no Microsoft Windows Mrcio A. Siena Pgina 24 de 25
***
Mrcio A. Siena
Consultoria & Treinamento em Engenharia de Sistemas e Software
http://www.masiena.com.br
marcio@masiena.com.br
masiena@hotmail.com