• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Oficina postgresql basico_consegi2010
 

Oficina postgresql basico_consegi2010

on

  • 2,770 views

 

Statistics

Views

Total Views
2,770
Views on SlideShare
2,765
Embed Views
5

Actions

Likes
1
Downloads
62
Comments
0

1 Embed 5

http://www.linkedin.com 5

Accessibility

Categories

Upload Details

Uploaded via SlideShare as OpenOffice

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Oficina postgresql basico_consegi2010 Oficina postgresql basico_consegi2010 Presentation Transcript

    • CONSEGI 2010 Oficina PostgreSQL Básico Fabrízio de Royes Mello [email_address]
    • Apresentação
      • Fabrízio de Royes Mello ( [email_address] )
      • Gerente de Tecnologia
      • Bacharel em Informática pela URCAMP
      • Experiência Profissional
        • 5 anos como Gerente de CPD Prefeitura
        • DBSeller desde 2005
        • Desenvolvimento de Software desde 1993
        • Experiência em PostgreSQL desde 1999
        • Experiência em PHP desde 2002
        • Desenvolvedor do Software Público e-cidade
    • Agenda
      • Introdução
      • Preparação do Servidor
      • Manipulando Bancos de Dados
    • Ambiente Oficina
      • Ubuntu 10.04 Desktop
      • PostgreSQL 8.4
    • Introdução
      • Breve Histórico
      • Arquitetura do PostgreSQL
    • Breve Histórico
      • Antes : Oriundo do INGRES
      • 1986 : Início Projeto (Berkley)
      • 1987 : Primeira versão do Postgres
      • 1991 : versão 3 com principais funcionalidades atuais
      • 1993 : versão 4.2, última lançada pela Berkley
      • 1994 : Andrew Yu e Jolly Chen lançam Postgre95 com interpretador para linguagem SQL
      • 1997 : Nome muda para PostgreSQL, versão 6 lançada
      • 2000 : versão 7 lançada com suporte a FK
      • 2005 : versão 8 lançada com versão nativa Windows, Tablespaces, Savepoints, Point-In-Time-Recovery
      • 2005 : versão 8.1 Commit Tho Phases, Roles
      • 2006 : versão 8.2 (Insert, Update, Delete) Returning, melhora performance OLTP e BI
      • 2008 : versão 8.3 debug PL/PgSQL, Tsearch2 (XML) no core
      • 2009 : versão 8.4 Windowing Functions, Common Table Expressions and Recursive Queries, Parallel Restore, ”pg_upgrade”
      • 2010 : versão 9.0 (beta 4) Hot Standby and Streaming Replication
    • Arquitetura
      • Modelo Cliente/Servidor
        • Processo Servidor (postgres)
        • Aplicação Cliente (text, gui, web, etc)
      • Faz uma cópia (fork) do processo servidor para cada conexão cliente
      • Processos auxiliares
        • Writer
        • Wal Writer
        • Autovacuum
        • Stats Collector
    • Arquitetura
    • Fonte: Manoel Pimental Medeiros - visaoagil.wordpress.com Preparação Servidor
      • Instalação e Configuração
      • Usuário ”postgres” sistema Operacional
      • Entendendo e Trabalhando com Clusters
      • Iniciando/Parando o Servidor PostgreSQL
    • Instalação e Configuração
      • Repositórios Ubuntu 10.04
        • $ su – serpro (senha no quadro)
        • $ sudo apt-get install postgresql-8.4
      • Verificando se as coisas estão OK!
        • $ pg_lsclusters
      • Listar Bases de Dados
        • $ psql -U postgres -l
        • Oops... erro autenticação!!!!
    • Instalação e Configuração
      • Configurar pg_hba.conf
        • $ sudo vim /etc/postgresql/8.4/main/pg_hba.conf
        • Trocar ident e md5 por ”trust” e salvar
        • $ sudo /etc/init.d/postgresql-8.4 reload
      • Listar Bases de Dados (novamente)
        • $ psql -U postgres -l ( gravem isso !!)
        • Agora sim!!!!
    • Usuário ”postgres” S.O.
      • Encapsular atividades em um único usuário
        • Usuário ”postgres” que executa binários
        • Arquivos de configuração e datafiles tem owner e group = ”postgres”
      • Uma breve ”verificação”
        • $ ls -al /etc/postgresql/8.4/main
        • $ ls -al /var/lib/postgresql/8.4
        • $ ps aux | egrep '^postgres'
    • Entendendo e Trabalhando com Clusters
      • Cluster = agrupamento de bancos de dados
      • Gerenciado por um ”processo servidor"
      • Listar clusters (debian based - pg_common)
        • $ pg_lsclusters
      • Criar clusters (debian based - pg_common)
        • $ pg_createcluster
      • http://www.postgresql.org/docs/8.4/static/app-initdb.html
      • Apagar clusters (debian based - pg_common)
        • $ pg_dropcluster
    • Entendendo e Trabalhando com Clusters
      • Exercício
        • Criar um cluster chamado ”consegi”
        • Criar um cluster chamado ”oficina”
        • Configurar autenticação clusters (pg_hba.conf)
        • Listar clusters
        • Apagar cluster ”oficina”
      • Respostas
      • $ sudo pg_createcluster 8.4 consegi
      • $ sudo pg_createcluster 8.4 oficina
      • $ sudo vim /etc/postgresql/8.4/**/pg_hba.conf
      • $ pg_lsclusters
      • $ sudo pg_dropcluster --stop 8.4 oficina
    • Iniciando/Parando Servidor PostgreSQL
      • Iniciando Servidor
        • $ sudo /etc/init.d/postgresql-8.4 start
      • Parando Servidor
        • $ sudo /etc/init.d/postgresql-8.4 stop
      • Reiniciando Servidor
        • $ sudo /etc/init.d/postgresql-8.4 restart
      • Recarregando Configurações
        • $ sudo /etc/init.d/postgresql-8.4 reload
      • http://www.postgresql.org/docs/8.4/static/app-pg-ctl.html
    • Fonte: Manoel Pimental Medeiros - visaoagil.wordpress.com Manipulando Bancos de Dados
      • Criando um Banco de Dados
      • Banco de Dados Template
      • Removendo Banco de Dados
      • Localização Física no Sistema de Arquivos
    • Criando um Banco de Dados
      • Utilitário ”createdb”
        • $ createdb -U postgres consegi1
      • http://www.postgresql.org/docs/8.4/static/app-createdb.html
      • SQL ”CREATE DATABASE”
        • $ psql -U postgres
        • postgres=# CREATE DATABASE consegi1;
      • http://www.postgresql.org/docs/8.4/static/sql-createdatabase.html
    • Banco de Dados Template
      • Template = Banco de Dados Modelo
      • CREATE DATABASE, atualmente, ”copia” uma base de dados existente, por padrão ”template1”
      • Existe outro banco template chamado ”template0” que é um ”banco virgem”
      • Criando ou banco por template
        • $ createdb -U postgres -T consegi1 consegi2
      • http://www.postgresql.org/docs/8.4/static/manage-ag-templatedbs.html
    • Removendo Bancos de Dados
      • Utilitário ”dropdb”
        • $ createdb -U postgres consegi2
      • http://www.postgresql.org/docs/8.4/static/app-dropdb.html
      • SQL ”DROP DATABASE”
        • $ psql -U postgres
        • postgres=# DROP DATABASE consegi2;
      • http://www.postgresql.org/docs/8.4/static/sql-dropdatabase.html
    • Localização Física no Sistema de Arquivos
      • Cluster
        • $ psql -U postgres
        • postgres=# SHOW data_directory
      • Configurações
        • $ psql -U postgres
        • postgres=# SHOW config_file;
        • postgres=# SHOW hba_file;
    • Exercícios
      • Criar / Apagar Cluster
      • Criar Banco de Dados
      • Criar Banco usando anterior como template
      • Dica: Mudar cluster atual da sessão
        • export PGCLUSTER=8.4/nome_do_cluster
    • Algumas Referências!
      • Nacionais
      • http://www.postgresql.org.br
      • https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
      • Internacionais
      • http://www.postgresql.org ( Site oficial )
      • http://www.postgresql.org/community/lists/
    • Dúvidas/Críticas/Sugestões!!! Fabrízio de Royes Mello [email_address] http://fabriziomello.blogspot.com