27

Treinamento PostgreSQL - Aula 05 · Sumário 1 Instalação e Con guração Pacotes para Debian e Ubuntu Compilação em GNULinux Eduardo Ferreira dos Santos (SparkGroup reinamentoT

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Treinamento PostgreSQL - Aula 05 · Sumário 1 Instalação e Con guração Pacotes para Debian e Ubuntu Compilação em GNULinux Eduardo Ferreira dos Santos (SparkGroup reinamentoT

Treinamento PostgreSQL - Aula 05

Eduardo Ferreira dos Santos

SparkGroup

Treinamento e Capacitação em Tecnologia

[email protected]

eduardosan.com

04 de Junho de 2013

Eduardo Ferreira dos Santos (SparkGroup Treinamento e Capacitação em Tecnologia [email protected] eduardosan.com)Treinamento PostgreSQL - Aula 05 04 de Junho de 2013 1 / 27

Page 2: Treinamento PostgreSQL - Aula 05 · Sumário 1 Instalação e Con guração Pacotes para Debian e Ubuntu Compilação em GNULinux Eduardo Ferreira dos Santos (SparkGroup reinamentoT

Cronograma

Semana 1: 27 de Maio a 4 de Junho Administração de Dados

Semana 2: 5-11 de Junho Administração de Banco de Dados

Semana 3: 13-18 de Junho Alta disponibilidade

Semana 4: 19-24 de Junho Performance Tuning

Eduardo Ferreira dos Santos (SparkGroup Treinamento e Capacitação em Tecnologia [email protected] eduardosan.com)Treinamento PostgreSQL - Aula 05 04 de Junho de 2013 2 / 27

Page 3: Treinamento PostgreSQL - Aula 05 · Sumário 1 Instalação e Con guração Pacotes para Debian e Ubuntu Compilação em GNULinux Eduardo Ferreira dos Santos (SparkGroup reinamentoT

Sumário

1 Instalação e Con�guraçãoPacotes para Debian e UbuntuCompilação em GNULinux

Eduardo Ferreira dos Santos (SparkGroup Treinamento e Capacitação em Tecnologia [email protected] eduardosan.com)Treinamento PostgreSQL - Aula 05 04 de Junho de 2013 3 / 27

Page 4: Treinamento PostgreSQL - Aula 05 · Sumário 1 Instalação e Con guração Pacotes para Debian e Ubuntu Compilação em GNULinux Eduardo Ferreira dos Santos (SparkGroup reinamentoT

Instalação e Con�guração

1 Instalação e Con�guraçãoPacotes para Debian e UbuntuCompilação em GNULinux

Eduardo Ferreira dos Santos (SparkGroup Treinamento e Capacitação em Tecnologia [email protected] eduardosan.com)Treinamento PostgreSQL - Aula 05 04 de Junho de 2013 4 / 27

Page 5: Treinamento PostgreSQL - Aula 05 · Sumário 1 Instalação e Con guração Pacotes para Debian e Ubuntu Compilação em GNULinux Eduardo Ferreira dos Santos (SparkGroup reinamentoT

Instalação e Con�guração Pacotes para Debian e Ubuntu

1 Instalação e Con�guraçãoPacotes para Debian e UbuntuCompilação em GNULinux

Eduardo Ferreira dos Santos (SparkGroup Treinamento e Capacitação em Tecnologia [email protected] eduardosan.com)Treinamento PostgreSQL - Aula 05 04 de Junho de 2013 5 / 27

Page 6: Treinamento PostgreSQL - Aula 05 · Sumário 1 Instalação e Con guração Pacotes para Debian e Ubuntu Compilação em GNULinux Eduardo Ferreira dos Santos (SparkGroup reinamentoT

Instalação e Con�guração Pacotes para Debian e Ubuntu

Remoção

Listing 1: Remove bancos de dados do cluster

[ p o s t g r e s pg s q l ] $ p g_ l s c l u s t e r s[ p o s t g r e s pg s q l ] $ pg_dropc l u s t e r −−s top 9 .1 main

Listing 2: Remove pacotes

# Remove banco[ r o o t s r c ]# apt−get remove −−purge p o s t g r e s q l ∗

Eduardo Ferreira dos Santos (SparkGroup Treinamento e Capacitação em Tecnologia [email protected] eduardosan.com)Treinamento PostgreSQL - Aula 05 04 de Junho de 2013 6 / 27

Page 7: Treinamento PostgreSQL - Aula 05 · Sumário 1 Instalação e Con guração Pacotes para Debian e Ubuntu Compilação em GNULinux Eduardo Ferreira dos Santos (SparkGroup reinamentoT

Instalação e Con�guração Pacotes para Debian e Ubuntu

Instalação

Listing 3: Instala e cria cluster

# I n s t a l a banco[ r o o t s r c ]# apt−get i n s t a l l p o s t g r e s q l p o s t g r e s q l−

dev

# Executa comandos[ p o s t g r e s pg s q l ] $ p g_ l s c l u s t e r s[ p o s t g r e s pg s q l ] $ pg_dropc l u s t e r −−s top 9 .1 main[ p o s t g r e s pg s q l ] $ p g_c r e a t e c l u s t e r −− l o c a l e pt_BR .

UTF−8 −−s t a r t 9 . 1 main

Eduardo Ferreira dos Santos (SparkGroup Treinamento e Capacitação em Tecnologia [email protected] eduardosan.com)Treinamento PostgreSQL - Aula 05 04 de Junho de 2013 7 / 27

Page 8: Treinamento PostgreSQL - Aula 05 · Sumário 1 Instalação e Con guração Pacotes para Debian e Ubuntu Compilação em GNULinux Eduardo Ferreira dos Santos (SparkGroup reinamentoT

Instalação e Con�guração Pacotes para Debian e Ubuntu

Testes

Listing 4: Cluster de testes

# Cr i a c l u s t e r de t e s t e[ p o s t g r e s pg s q l ] $ p g_c r e a t e c l u s t e r −− l o c a l e pt_BR .

UTF−8 −−s t a r t 9 . 1 t e s t e

Eduardo Ferreira dos Santos (SparkGroup Treinamento e Capacitação em Tecnologia [email protected] eduardosan.com)Treinamento PostgreSQL - Aula 05 04 de Junho de 2013 8 / 27

Page 9: Treinamento PostgreSQL - Aula 05 · Sumário 1 Instalação e Con guração Pacotes para Debian e Ubuntu Compilação em GNULinux Eduardo Ferreira dos Santos (SparkGroup reinamentoT

Instalação e Con�guração Pacotes para Debian e Ubuntu

Exercício

1 Mova os cluster existentes para a partição /srv/cluster

2 Faça a versão do PostgreSQL rodar na porta 5433

Eduardo Ferreira dos Santos (SparkGroup Treinamento e Capacitação em Tecnologia [email protected] eduardosan.com)Treinamento PostgreSQL - Aula 05 04 de Junho de 2013 9 / 27

Page 10: Treinamento PostgreSQL - Aula 05 · Sumário 1 Instalação e Con guração Pacotes para Debian e Ubuntu Compilação em GNULinux Eduardo Ferreira dos Santos (SparkGroup reinamentoT

Instalação e Con�guração Compilação em GNULinux

1 Instalação e Con�guraçãoPacotes para Debian e UbuntuCompilação em GNULinux

Eduardo Ferreira dos Santos (SparkGroup Treinamento e Capacitação em Tecnologia [email protected] eduardosan.com)Treinamento PostgreSQL - Aula 05 04 de Junho de 2013 10 / 27

Page 11: Treinamento PostgreSQL - Aula 05 · Sumário 1 Instalação e Con guração Pacotes para Debian e Ubuntu Compilação em GNULinux Eduardo Ferreira dos Santos (SparkGroup reinamentoT

Instalação e Con�guração Compilação em GNULinux

Dependências

GNU Make: http://www.gnu.org/software/make/

GCC: http://gcc.gnu.org/

GNU Zip: http://www.gzip.org/

GNU Readline

Opcionais: linguagens procedurais, criptogra�a, etc

Eduardo Ferreira dos Santos (SparkGroup Treinamento e Capacitação em Tecnologia [email protected] eduardosan.com)Treinamento PostgreSQL - Aula 05 04 de Junho de 2013 11 / 27

Page 12: Treinamento PostgreSQL - Aula 05 · Sumário 1 Instalação e Con guração Pacotes para Debian e Ubuntu Compilação em GNULinux Eduardo Ferreira dos Santos (SparkGroup reinamentoT

Instalação e Con�guração Compilação em GNULinux

Instalação das dependências

Listing 5: Instalação de dependências

# I n s t a l a c a o de dependenc i a s[ r o o t s r c ]# apt−get i n s t a l l gcc l i b c 6−dev

l i b r e a d l i n e 5 −dev z l i b 1 g−dev unz i p z i p

Eduardo Ferreira dos Santos (SparkGroup Treinamento e Capacitação em Tecnologia [email protected] eduardosan.com)Treinamento PostgreSQL - Aula 05 04 de Junho de 2013 12 / 27

Page 13: Treinamento PostgreSQL - Aula 05 · Sumário 1 Instalação e Con guração Pacotes para Debian e Ubuntu Compilação em GNULinux Eduardo Ferreira dos Santos (SparkGroup reinamentoT

Instalação e Con�guração Compilação em GNULinux

Cria usuário

Listing 6: Cria usuário do banco de dados

# Cr i a cao do u s u a r i o[ r o o t s r c ]# use radd −d / u s r / l o c a l / pg sq l p o s t g r e s[ r o o t s r c ]# mkdir −p / u s r / l o c a l / pg sq l[ r o o t s r c ]# chown −R po s t g r e s . p o s t g r e s / u s r / l o c a l /

pg sq l / u s r / l o c a l / s r c / p o s t g r e s q l −9.1 .9[ r o o t s r c ]# chmod 750 / u s r / l o c a l / pg s q l[ r o o t s r c ]# su − p o s t g r e s

Eduardo Ferreira dos Santos (SparkGroup Treinamento e Capacitação em Tecnologia [email protected] eduardosan.com)Treinamento PostgreSQL - Aula 05 04 de Junho de 2013 13 / 27

Page 14: Treinamento PostgreSQL - Aula 05 · Sumário 1 Instalação e Con guração Pacotes para Debian e Ubuntu Compilação em GNULinux Eduardo Ferreira dos Santos (SparkGroup reinamentoT

Instalação e Con�guração Compilação em GNULinux

Variáveis de ambiente

Listing 7: Con�gura variáveis de ambiente

[ p o s t g r e s ~] echo "export PATH=/usr/local/bin/:$PATH

:/usr/local/pgsql/bin\nexport LD_LIBRARY_PATH=

$LD_LIBRARY_PATH:/usr/local/pgsql/lib" >> ~/.ba sh r c

[ p o s t g r e s ~] echo "source $HOME/.bashrc" >> ~/.b a s h_p r o f i l e

[ p o s t g r e s pg s q l ] $ ex i t

Eduardo Ferreira dos Santos (SparkGroup Treinamento e Capacitação em Tecnologia [email protected] eduardosan.com)Treinamento PostgreSQL - Aula 05 04 de Junho de 2013 14 / 27

Page 15: Treinamento PostgreSQL - Aula 05 · Sumário 1 Instalação e Con guração Pacotes para Debian e Ubuntu Compilação em GNULinux Eduardo Ferreira dos Santos (SparkGroup reinamentoT

Instalação e Con�guração Compilação em GNULinux

Variáveis de ambiente

Listing 8: Testa variáveis de ambiente

[ p o s t g r e s pg s q l ] $ ex i t

[ r o o t s r c ]# su − p o s t g r e s[ p o s t g r e s pg s q l ] $ env | g rep PATHLD_LIBRARY_PATH=:/ u s r / l o c a l / pg sq l / l i bPATH=/b in : / s b i n : / u s r / b i n : / u s r / s b i n : / u s r / l o c a l / b i n : /

u s r / l o c a l / s b i n : / u s r / b i n /X11 : / u s r /X11R6/ b i n : / r oo t /b i n : / u s r / l o c a l / pg sq l / b i n : / u s r / l o c a l / pg sq l / b i n

[ p o s t g r e s pg s q l ] $ ex i t

Eduardo Ferreira dos Santos (SparkGroup Treinamento e Capacitação em Tecnologia [email protected] eduardosan.com)Treinamento PostgreSQL - Aula 05 04 de Junho de 2013 15 / 27

Page 16: Treinamento PostgreSQL - Aula 05 · Sumário 1 Instalação e Con guração Pacotes para Debian e Ubuntu Compilação em GNULinux Eduardo Ferreira dos Santos (SparkGroup reinamentoT

Instalação e Con�guração Compilação em GNULinux

Baixando os fontes

Escolha sua versão: http://www.postgresql.org/download/

Listing 9: Baixando e descompactando arquivos

# Descompactacao[ r o o t s r c ]# cd / u s r / l o c a l / s r c[ r o o t s r c ]# wget f t p : // f t p . p o s t g r e s q l . o rg /pub/

sou r c e /v9 . 1 . 9 / p o s t g r e s q l −9 . 1 . 9 . t a r . gz[ r o o t s r c ]# ta r −x z v f p o s t g r e s q l −9 . 1 . 9 . t a r . gz[ r o o t s r c ]# chown −R po s t g r e s . p o s t g r e s p o s t g r e s q l

−9.1 .9[ r o o t s r c ]# cd po s t g r e s q l −9.1 .9[ r o o t s r c ]# su − p o s t g r e s[ p o s t g r e s pg s q l ] $ cd / u s r / l o c a l / s r c / p o s t g r e s q l

−9.1 .9

Eduardo Ferreira dos Santos (SparkGroup Treinamento e Capacitação em Tecnologia [email protected] eduardosan.com)Treinamento PostgreSQL - Aula 05 04 de Junho de 2013 16 / 27

Page 17: Treinamento PostgreSQL - Aula 05 · Sumário 1 Instalação e Con guração Pacotes para Debian e Ubuntu Compilação em GNULinux Eduardo Ferreira dos Santos (SparkGroup reinamentoT

Instalação e Con�guração Compilação em GNULinux

Compilação

Listing 10: Con�gurando a compilação

# Con f i gu r a cao da comp i l acao[ p o s t g r e s pg s q l ] $ . / c o n f i g u r e[ p o s t g r e s pg s q l ] $ make a l l[ p o s t g r e s pg s q l ] $ make i n s t a l l

Eduardo Ferreira dos Santos (SparkGroup Treinamento e Capacitação em Tecnologia [email protected] eduardosan.com)Treinamento PostgreSQL - Aula 05 04 de Junho de 2013 17 / 27

Page 18: Treinamento PostgreSQL - Aula 05 · Sumário 1 Instalação e Con guração Pacotes para Debian e Ubuntu Compilação em GNULinux Eduardo Ferreira dos Santos (SparkGroup reinamentoT

Instalação e Con�guração Compilação em GNULinux

Opções de compilação

�pre�x=PREFIX Diretório para todos os arquivos do banco. Padrão:/usr/local/pgsql

�exec-pre�x=EXEC-PREFIX Caminho para os arquivos independentes dearquitetura. Padrão: PREFIX

�bindir=DIRECTORY Caminho para os executáveis. Padrão:EXEC-PREFIX/bin

�sysconfdir=DIRECTORY Arquivos de con�guração. Padrão: PREFIX/etc

�libdir=DIRECTORY Bibliotecas. Padrão: EXEC-PREFIX/lib

�includedir=DIRECTORY C e C++ header (.h). Padrão: PREFIX/include

�datarootdir=DIRECTORY Arquivos de dados somente leitura. Padrão:PREFIX/share

�datadir=DIRECTORY Arquivos somente leitura para os programasinstalados. Padrão: DATAROOTDIR

Eduardo Ferreira dos Santos (SparkGroup Treinamento e Capacitação em Tecnologia [email protected] eduardosan.com)Treinamento PostgreSQL - Aula 05 04 de Junho de 2013 18 / 27

Page 19: Treinamento PostgreSQL - Aula 05 · Sumário 1 Instalação e Con guração Pacotes para Debian e Ubuntu Compilação em GNULinux Eduardo Ferreira dos Santos (SparkGroup reinamentoT

Instalação e Con�guração Compilação em GNULinux

Opções de compilação

Linguagens Compilar PL's (Procedural Languages). Ex.: �with-perl,�with-tcl, etc.

Criptrogra�a e Segurança Adicionar SSL, PAM, LDAP, etc. Ex.:�with-openssl, �with-pam, �with-ldap

Referência completa Todas as opções de compilação estão no endereçohttp://www.postgresql.org/docs/9.1/interactive/

install-procedure.html

Eduardo Ferreira dos Santos (SparkGroup Treinamento e Capacitação em Tecnologia [email protected] eduardosan.com)Treinamento PostgreSQL - Aula 05 04 de Junho de 2013 19 / 27

Page 20: Treinamento PostgreSQL - Aula 05 · Sumário 1 Instalação e Con guração Pacotes para Debian e Ubuntu Compilação em GNULinux Eduardo Ferreira dos Santos (SparkGroup reinamentoT

Instalação e Con�guração Compilação em GNULinux

Inicializar o banco de dados

Listing 11: Inicializa estrutura de arquivos

# I n i c i a banco de dados[ p o s t g r e s pg s q l ] $ / u s r / l o c a l / pg sq l / b i n / i n i t d b −D /

us r / l o c a l / pg sq l / data

Listing 12: Inicia servidor do SGBD

[ p o s t g r e s pg s q l ] $ / u s r / l o c a l / pg sq l / b i n / pg_ct l −D /us r / l o c a l / pg sq l / data − l / u s r / l o c a l / pg sq l / data /s e r v e r . l o g s t a r t

Eduardo Ferreira dos Santos (SparkGroup Treinamento e Capacitação em Tecnologia [email protected] eduardosan.com)Treinamento PostgreSQL - Aula 05 04 de Junho de 2013 20 / 27

Page 21: Treinamento PostgreSQL - Aula 05 · Sumário 1 Instalação e Con guração Pacotes para Debian e Ubuntu Compilação em GNULinux Eduardo Ferreira dos Santos (SparkGroup reinamentoT

Instalação e Con�guração Compilação em GNULinux

Parâmetros do banco de dados

Diretório de dados Estrutura de arquivos para armazenamento do banco dedados do PostgreSQL. /usr/local/pgsql/data

Log do servidor Arquivo de log do servidor./usr/local/pgsql/data/server.log

Comando de inicialização Comando para iniciar o serviço do SGBD. start

Eduardo Ferreira dos Santos (SparkGroup Treinamento e Capacitação em Tecnologia [email protected] eduardosan.com)Treinamento PostgreSQL - Aula 05 04 de Junho de 2013 21 / 27

Page 22: Treinamento PostgreSQL - Aula 05 · Sumário 1 Instalação e Con guração Pacotes para Debian e Ubuntu Compilação em GNULinux Eduardo Ferreira dos Santos (SparkGroup reinamentoT

Instalação e Con�guração Compilação em GNULinux

Testes

Listing 13: Testa inicialização

# Testa i n i c i a l i z a c a o o f u n c i o n a l[ p o s t g r e s pg s q l ] $ c r e a t e l a n g p l p g s q l t emp la t e1[ p o s t g r e s pg s q l ] $ c r e a t e l a n g − l t emp la t e1

Eduardo Ferreira dos Santos (SparkGroup Treinamento e Capacitação em Tecnologia [email protected] eduardosan.com)Treinamento PostgreSQL - Aula 05 04 de Junho de 2013 22 / 27

Page 23: Treinamento PostgreSQL - Aula 05 · Sumário 1 Instalação e Con guração Pacotes para Debian e Ubuntu Compilação em GNULinux Eduardo Ferreira dos Santos (SparkGroup reinamentoT

Instalação e Con�guração Compilação em GNULinux

Teste da base

Listing 14: Testa base de dados

# Testa o banco de dados[ p o s t g r e s pg s q l ] $ c r e a t edb mytestdb[ p o s t g r e s pg s q l ] $ p s q l mytestdb

# Consu l t a s de t e s t emytestdb=# s e l e c t cur rent_t imestamp ;mytestdb=# c r e a t e f u n c t i o n t e s t 1 ( ) r e t u r n s i n t e g e r

as $$ beg i n r e t u r n 1 ; end ; $$ l anguage ' p l p g s q l ' ;mytestdb=# s e l e c t t e s t 1 ( ) ;

Eduardo Ferreira dos Santos (SparkGroup Treinamento e Capacitação em Tecnologia [email protected] eduardosan.com)Treinamento PostgreSQL - Aula 05 04 de Junho de 2013 23 / 27

Page 24: Treinamento PostgreSQL - Aula 05 · Sumário 1 Instalação e Con guração Pacotes para Debian e Ubuntu Compilação em GNULinux Eduardo Ferreira dos Santos (SparkGroup reinamentoT

Instalação e Con�guração Compilação em GNULinux

Script de inicialização

Baixe o script: http://cvs.openacs.org/browse/~raw,r=1.2/OpenACS/openacs-4/

packages/acs-core-docs/www/files/postgresql.txt

Veri�que as con�gurações iniciais

Adicione o script à lista de comandos do SO

Eduardo Ferreira dos Santos (SparkGroup Treinamento e Capacitação em Tecnologia [email protected] eduardosan.com)Treinamento PostgreSQL - Aula 05 04 de Junho de 2013 24 / 27

Page 25: Treinamento PostgreSQL - Aula 05 · Sumário 1 Instalação e Con guração Pacotes para Debian e Ubuntu Compilação em GNULinux Eduardo Ferreira dos Santos (SparkGroup reinamentoT

Instalação e Con�guração Compilação em GNULinux

Exercícios

1 Apague a instalação anterior completamente

2 Suba o banco de dados na porta 5433

3 Inicialize a estrutura de diretórios de con�guração no caminho/srv/curso

Eduardo Ferreira dos Santos (SparkGroup Treinamento e Capacitação em Tecnologia [email protected] eduardosan.com)Treinamento PostgreSQL - Aula 05 04 de Junho de 2013 25 / 27

Page 26: Treinamento PostgreSQL - Aula 05 · Sumário 1 Instalação e Con guração Pacotes para Debian e Ubuntu Compilação em GNULinux Eduardo Ferreira dos Santos (SparkGroup reinamentoT

Instalação e Con�guração Compilação em GNULinux

Exercícios

1 Baixe a versão 9.0 do PostgreSQL

2 Compile a versão e coloque para rodar na porta 5432

3 As versões 9.0 e 9.1 devem funcionar ao mesmo tempo na mesmamáquina

Eduardo Ferreira dos Santos (SparkGroup Treinamento e Capacitação em Tecnologia [email protected] eduardosan.com)Treinamento PostgreSQL - Aula 05 04 de Junho de 2013 26 / 27

Page 27: Treinamento PostgreSQL - Aula 05 · Sumário 1 Instalação e Con guração Pacotes para Debian e Ubuntu Compilação em GNULinux Eduardo Ferreira dos Santos (SparkGroup reinamentoT

Instalação e Con�guração Compilação em GNULinux

Contato

Eduardo Ferreira dos SantosSparkgroup

Lightbase Consultoria em Software Público

[email protected]@gmail.com

www.postgresql.org.brwww.eduardosan.com

+55 61 3347-1949

Eduardo Ferreira dos Santos (SparkGroup Treinamento e Capacitação em Tecnologia [email protected] eduardosan.com)Treinamento PostgreSQL - Aula 05 04 de Junho de 2013 27 / 27