Download - Oficina postgresql basico_consegi2010
- 1. CONSEGI 2010 Oficina PostgreSQL Bsico Fabrzio de Royes Mello [email_address]
2. Apresentao
- Fabrzio de Royes Mello ( [email_address] )
3. Gerente de Tecnologia 4. Bacharel em Informtica pela URCAMP 5. Experincia Profissional
- 5 anos como Gerente de CPD Prefeitura
6. DBSeller desde 2005 7. Desenvolvimento de Software desde 1993 8. Experincia em PostgreSQL desde 1999 9. Experincia em PHP desde 2002 10. Desenvolvedor do Software Pblico e-cidade 11. Agenda
- Introduo
12. Preparao do Servidor 13. Manipulando Bancos de Dados 14. Ambiente Oficina
- Ubuntu 10.04 Desktop
15. PostgreSQL 8.4 16. Introduo
- Breve Histrico
17. Arquitetura do PostgreSQL 18. Breve Histrico
- Antes :Oriundo do INGRES
19. 1986: Incio Projeto (Berkley) 20. 1987: Primeira verso do Postgres 21. 1991: verso 3 com principais funcionalidades atuais 22. 1993: verso 4.2, ltima lanada pela Berkley 23. 1994: Andrew Yu e Jolly Chen lanam Postgre95 com interpretador para linguagem SQL 24. 1997: Nome muda para PostgreSQL, verso 6 lanada 25. 2000: verso 7 lanada com suporte a FK 26. 2005: verso 8 lanada com verso nativa Windows, Tablespaces, Savepoints, Point-In-Time-Recovery 27. 2005: verso 8.1 Commit Tho Phases, Roles 28. 2006: verso 8.2 (Insert, Update, Delete) Returning, melhora performance OLTP e BI 29. 2008: verso 8.3 debug PL/PgSQL, Tsearch2(XML) no core 30. 2009: verso 8.4 Windowing Functions, Common Table Expressions and Recursive Queries, Parallel Restore, pg_upgrade 31. 2010: verso 9.0 (beta 4) Hot Standby and Streaming Replication 32. Arquitetura
- Modelo Cliente/Servidor
- Processo Servidor (postgres)
33. Aplicao Cliente (text, gui, web, etc) Faz uma cpia (fork) do processo servidor para cada conexo cliente 34. Processos auxiliares
- Writer
35. Wal Writer 36. Autovacuum 37. Stats Collector 38. Arquitetura 39. Fonte: Manoel Pimental Medeiros - visaoagil.wordpress.com Preparao Servidor
- Instalao e Configurao
40. Usurio postgres sistema Operacional 41. Entendendo e Trabalhando com Clusters 42. Iniciando/Parando o Servidor PostgreSQL 43. Instalao e Configurao
- Repositrios Ubuntu 10.04
- $ su serpro(senha no quadro)
44. $ sudo apt-get install postgresql-8.4 Verificando se as coisas esto OK!
- $ pg_lsclusters
Listar Bases de Dados
- $ psql -U postgres -l
45. Oops... erro autenticao!!!! 46. Instalao e Configurao
- Configurar pg_hba.conf
- $ sudo vim /etc/postgresql/8.4/main/pg_hba.conf
47. Trocar ident e md5 por trust e salvar 48. $ sudo /etc/init.d/postgresql-8.4 reload Listar Bases de Dados (novamente)
- $ psql -U postgres -l( gravem isso !!)
49. Agora sim!!!! 50. Usurio postgres S.O.
- Encapsular atividades em um nico usurio
- Usurio postgres que executa binrios
51. Arquivos de configurao e datafiles tem owner e group = postgres Uma breve verificao
- $ ls -al/etc/postgresql/8.4/main
52. $ ls -al/var/lib/postgresql/8.4 53. $ ps aux | egrep '^postgres' 54. Entendendo e Trabalhando com Clusters
- Cluster = agrupamento de bancos de dados
55. Gerenciado por um processo servidor" 56. 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 57. Apagar clusters(debian based - pg_common)
- $ pg_dropcluster
58. Entendendo e Trabalhando com Clusters
- Exerccio
- Criar um cluster chamado consegi
59. Criar um cluster chamado oficina 60. Configurar autenticao clusters (pg_hba.conf) 61. Listar clusters 62. Apagar cluster oficina Respostas 63. $ sudo pg_createcluster 8.4 consegi 64. $ sudo pg_createcluster 8.4 oficina 65. $ sudo vim /etc/postgresql/8.4/**/pg_hba.conf 66. $ pg_lsclusters 67. $ sudo pg_dropcluster --stop 8.4 oficina 68. Iniciando/ParandoServidor 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 Configuraes
- $ sudo /etc/init.d/postgresql-8.4 reload
http://www.postgresql.org/docs/8.4/static/app-pg-ctl.html 69. Fonte: Manoel Pimental Medeiros - visaoagil.wordpress.com ManipulandoBancos de Dados
- Criando um Banco de Dados
70. Banco de Dados Template 71. Removendo Banco de Dados 72. Localizao Fsica no Sistema de Arquivos 73. Criando um Banco de Dados
- Utilitrio createdb
- $ createdb -U postgres consegi1
http://www.postgresql.org/docs/8.4/static/app-createdb.html 74. SQL CREATE DATABASE
- $ psql -U postgres
75. postgres=# CREATE DATABASE consegi1; http://www.postgresql.org/docs/8.4/static/sql-createdatabase.html 76. Banco de Dados Template
- Template = Banco de Dados Modelo
77. CREATE DATABASE, atualmente, copia uma base de dados existente, por padro template1 78. Existe outro banco template chamado template0 que um banco virgem 79. Criando ou banco por template
- $ createdb -U postgres -T consegi1 consegi2
http://www.postgresql.org/docs/8.4/static/manage-ag-templatedbs.html 80. RemovendoBancos de Dados
- Utilitrio dropdb
- $ createdb -U postgres consegi2
http://www.postgresql.org/docs/8.4/static/app-dropdb.html 81. SQL DROP DATABASE
- $ psql -U postgres
82. postgres=# DROP DATABASE consegi2; http://www.postgresql.org/docs/8.4/static/sql-dropdatabase.html 83. Localizao Fsica no Sistema de Arquivos
- Cluster
- $ psql -U postgres
84. postgres=# SHOW data_directory Configuraes
- $ psql -U postgres
85. postgres=# SHOW config_file; 86. postgres=# SHOW hba_file; 87. Exerccios
- Criar / Apagar Cluster
88. Criar Banco de Dados 89. Criar Banco usando anterior como template 90. Dica: Mudar cluster atual da sesso
- export PGCLUSTER=8.4/nome_do_cluster
91. Algumas Referncias!
- Nacionais
92. http://www.postgresql.org.br 93. https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral 94. Internacionais 95. http://www.postgresql.org ( Site oficial ) 96. http://www.postgresql.org/community/lists/ 97. Dvidas/Crticas/Sugestes!!! Fabrzio de Royes Mello [email_address] http://fabriziomello.blogspot.com