Oficina PostgreSQL Básico Latinoware 2012

Download Oficina PostgreSQL Básico Latinoware 2012

Post on 25-May-2015

773 views

Category:

Technology

2 download

Embed Size (px)

DESCRIPTION

Oficina Bsica de PostgreSQL ministrada no Latinoware 2012

TRANSCRIPT

<ul><li> 1. Latinoware 2012Oficina PostgreSQL BsicoFabrzio de Royes Mello fabriziomello@gmail.com @fabriziomello http://www.postgresql.org.br http://listas.postgresql.org.br</li></ul> <p> 2. Apresentao Fabrzio de Royes Mello (fabriziomello@gmail.com) Gerente de Tecnologia Bacharel em Informtica pela URCAMP Bag/RS Experincia Profissional Desenvolvimento de Software desde 1993 Experincia em PostgreSQL desde 1999 Experincia em PHP desde 2002 Consultor/Coach PostgreSQL Colaborador Comunidade Brasileira PostgreSQL Colaborador PGDG PostgreSQL Global DevelopmentGroup 3. Agenda Introduo Preparao do Servidor Manipulando Bancos de Dados 4. Ambiente Oficina Ubuntu 12.04 PostgreSQL 9.2 5. Introduo Breve Histrico Arquitetura do PostgreSQL 6. Breve Histrico Antes : Oriundo do INGRES 1986 : Incio Projeto (Berkley) 1987 : Primeira verso do Postgres 1991 : verso 3 com principais funcionalidades atuais 1993 : verso 4.2, ltima lanada pela Berkley 1994 : Andrew Yu e Jolly Chen lanam Postgre95 com interpretador paralinguagem SQL 1997 : Nome muda para PostgreSQL, verso 6 lanada 2000 : verso 7 lanada com suporte a FK 2005 : verso 8 lanada com verso nativa Windows, Tablespaces,Savepoints, Point-In-Time-Recovery 2005 : verso 8.1 Commit Tho Phases, Roles 2006 : verso 8.2 (Insert, Update, Delete) Returning, melhora performanceOLTP e BI 2008 : verso 8.3 debug PL/PgSQL, Tsearch2 (XML) no core 2009 : verso 8.4 Windowing Functions, Common Table Expressions andRecursive Queries, Parallel Restore, pg_upgrade 2010 : verso 9.0 Hot Standby and Streaming Replication (assincrona) 2011 : verso 9.1 Synchronous Streaming Replication, Extensions, FDWs 2012 : verso 9.2 Index-Only Scans, JSON, PLV8, Cascade Replication 7. Arquitetura Modelo Cliente/Servidor Processo Servidor (postgres) Aplicao Cliente (text, gui, web, etc) Faz uma cpia (fork) do processo servidor paracada conexo cliente Processos auxiliares Checkpointer Writer Wal Writer Autovacuum Stats Collector 8. Arquitetura 9. Preparao Servidor Instalao e Configurao Usurio postgres sistema Operacional Entendendo e Trabalhando com Clusters Iniciando/Parando o Servidor PostgreSQLFonte: Manoel Pimental Medeiros - visaoagil.wordpress.com 10. Instalao e Configurao Repositrios Ubuntu 12.04$sudos(senhalatinoware2012)$addaptrepositoryppa:pitti/postgresql$aptgetupdate$aptgetinstallpostgresql9.2 Verificando se as coisas esto OK!$pg_lsclusters Listar Bases de Dados$psqlUpostgresl Oops... erro autenticao!!!! 11. Instalao e Configurao Configurar pg_hba.conf$sudovim/etc/postgresql/9.2/main/pg_hba.confTrocaridentemd5portrustesalvar$sudo/etc/init.d/postgresql9.2reload Listar Bases de Dados (novamente)$psqlUpostgresl(gravemisso!!)Agora sim!!!! 12. Usurio postgres S.O. Encapsular atividades em um nico usurio Usurio postgres que executa binrios Arquivos de configurao e datafiles tem owner egroup = postgres Uma breve verificao$lsal/etc/postgresql/9.2/main$lsal/var/lib/postgresql/9.2$psaux|egrep^postgres 13. Entendendo e Trabalhandocom 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_createclusterhttp://www.postgresql.org/docs/9.2/static/app-initdb.html Apagar clusters (debian based - pg_common) $pg_dropcluster 14. Entendendo e Trabalhando com Clusters Exerccio Criar um cluster chamado latinoware Criar um cluster chamado oficina Configurar autenticao clusters (pg_hba.conf) Listar clusters Apagar cluster oficina Respostas$sudopg_createcluster9.2latinoware$sudopg_createcluster9.2oficina$sudovim/etc/postgresql/9.2/**/pg_hba.conf$pg_lsclusters$sudopg_dropclusterstop9.2oficina 15. Iniciando/Parando Servidor PostgreSQL Iniciando Servidor $sudo/etc/init.d/postgresqlstart9.2 Parando Servidor $sudo/etc/init.d/postgresqlstop9.2 Reiniciando Servidor $sudo/etc/init.d/postgresqlrestart9.2 Recarregando Configuraes $sudo/etc/init.d/postgresqlreload9.2http://www.postgresql.org/docs/9.2/static/app-pg-ctl.html 16. ManipulandoBancos de Dados Criando um Banco de Dados Banco de Dados Template Removendo Banco de Dados Localizao Fsica no Sistema de ArquivosFonte: Manoel Pimental Medeiros - visaoagil.wordpress.com 17. Criando um Banco de Dados Utilitrio createdb $createdbUpostgreslatino1http://www.postgresql.org/docs/9.2/static/app-createdb.html SQL CREATE DATABASE $psqlUpostgres postgres=#CREATEDATABASElatino1;http://www.postgresql.org/docs/9.2/static/sql-createdatabase.html 18. Banco de Dados Template Template = Banco de Dados Modelo CREATE DATABASE, atualmente, copia umabase de dados existente, por padrotemplate1 Existe outro banco template chamadotemplate0 que um banco virgem Criando ou banco por template $ createdb -U postgres -T latino1 latino2http://www.postgresql.org/docs/9.2/static/manage-ag-templatedbs.html 19. RemovendoBancos de Dados Utilitrio dropdb $dropdbUpostgreslatino2http://www.postgresql.org/docs/9.2/static/app-dropdb.html SQL DROP DATABASE $psqlUpostgres postgres=#DROPDATABASElatino2;http://www.postgresql.org/docs/9.2/static/sql-dropdatabase.html 20. Localizao Fsica noSistema de Arquivos Cluster$psqlUpostgrespostgres=#SHOWdata_directory Configuraes$psqlUpostgrespostgres=#SHOWconfig_file;postgres=#SHOWhba_file; 21. Exerccios Criar / Apagar Cluster Criar Banco de Dados Criar Banco usando anterior como template Dica: Mudar cluster atual da sesso export PGCLUSTER=9.2/nome_do_cluster 22. Algumas Referncias! Nacionaishttp://www.postgresql.org.brhttps://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral Internacionaishttp://www.postgresql.org (Site oficial)http://www.postgresql.org/community/lists/ 23. Dvidas/Crticas/Sugestes!!! Fabrzio de Royes Mello fabriziomello@gmail.comhttp://fabriziomello.blogspot.com</p>