Upload
others
View
4
Download
0
Embed Size (px)
Citation preview
Treinamento PostgreSQL - Aula 05
Eduardo Ferreira dos Santos
SparkGroup
Treinamento e Capacitação em Tecnologia
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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