postgresql_8_documentacao

1310
Documentação do PostgreSQL 8.0.0 Projeto de Tradução para o Português do Brasil (http://sourceforge.net/projects/pgdocptbr/) The PostgreSQL Global Development Group Rio de Janeiro, 15 de fevereiro de 2007

Upload: francisco-stankevicius

Post on 30-Dec-2014

63 views

Category:

Documents


12 download

TRANSCRIPT

Documentao do PostgreSQL 8.0.0

Projeto de Traduo para o Portugus do Brasil (http://sourceforge.net/projects/pgdocptbr/)

The PostgreSQL Global Development Group

Rio de Janeiro, 15 de fevereiro de 2007

SumrioPrefcio ................................................................................................................................................................................xiv 1. O que o PostgreSQL? ...........................................................................................................................................xiv 2. Uma breve histria do PostgreSQL .........................................................................................................................xv 3. Convenes ................................................................................................................................................................xvi 4. Outras informaes ...................................................................................................................................................xvi 5. Guia para informar erros ......................................................................................................................................... xvii I. Tutorial ...............................................................................................................................................................................22 Captulo 1. Incio ....................................................................................................................................................................1 1.1. Instalao ...................................................................................................................................................................1 1.2. Fundamentos da arquitetura ....................................................................................................................................1 1.3. Criao de banco de dados .....................................................................................................................................2 1.4. Acesso a banco de dados ........................................................................................................................................3 Captulo 2. A linguagem SQL ...............................................................................................................................................6 2.1. Introduo ...................................................................................................................................................................6 2.2. Conceitos ....................................................................................................................................................................6 2.3. Criao de tabelas ....................................................................................................................................................6 2.4. Insero de linhas em tabelas .................................................................................................................................7 2.5. Consultar tabelas .......................................................................................................................................................8 2.6. Junes entre tabelas ...............................................................................................................................................9 2.7. Funes de agregao ...........................................................................................................................................11 2.8. Atualizaes .............................................................................................................................................................12 2.9. Excluses .................................................................................................................................................................13 Captulo 3. Funcionalidades avanadas...........................................................................................................................14 3.1. Introduo .................................................................................................................................................................14 3.2. Vises........................................................................................................................................................................14 3.3. Chaves estrangeiras ...............................................................................................................................................14 3.4. Transaes ...............................................................................................................................................................15 3.5. Herana.....................................................................................................................................................................17 3.6. Concluso .................................................................................................................................................................18 II. A linguagem SQL.............................................................................................................................................................19 Captulo 4. Sintaxe da linguagem SQL.............................................................................................................................20 4.1. Estrutura lxica ........................................................................................................................................................20 4.2. Expresses de valor................................................................................................................................................29 Captulo 5. Definio de dados ..........................................................................................................................................38 5.1. Noes bsicas de tabela ......................................................................................................................................38 5.2. Valor padro .............................................................................................................................................................39 5.3. Restries .................................................................................................................................................................40 5.4. Colunas do sistema .................................................................................................................................................50 5.5. Herana.....................................................................................................................................................................51 5.6. Modificao de tabelas ...........................................................................................................................................53 5.7. Privilgios .................................................................................................................................................................55 5.8. Esquemas .................................................................................................................................................................56 5.9. Outros objetos de banco de dados .......................................................................................................................60 5.10. Acompanhando as dependncias ......................................................................................................................60 Captulo 6. Manipulao de dados ....................................................................................................................................63 6.1. Insero de dados ...................................................................................................................................................63 6.2. Atualizao de dados..............................................................................................................................................64 6.3. Excluso de dados ..................................................................................................................................................64 Captulo 7. Consultas ..........................................................................................................................................................66 7.1. Viso geral ................................................................................................................................................................66 7.2. Expresses de tabela .............................................................................................................................................66 7.3. Listas de seleo .....................................................................................................................................................77 7.4. Combinao de consultas ......................................................................................................................................78 7.5. Ordenao de linhas ...............................................................................................................................................80 7.6. LIMIT e OFFSET .....................................................................................................................................................80 Captulo 8. Tipos de dado...................................................................................................................................................83 8.1. Tipos numricos ......................................................................................................................................................84 8.2. Tipos monetrios .....................................................................................................................................................88

8.3. Tipos para cadeias de caracteres .........................................................................................................................89 8.4. Tipos de dado binrios ...........................................................................................................................................92 8.5. Tipos para data e hora............................................................................................................................................94 8.6. Tipo booleano ........................................................................................................................................................100 8.7. Tipos geomtricos .................................................................................................................................................101 8.8. Tipos para endereo de rede...............................................................................................................................103 8.9. Tipos para cadeias de bits ...................................................................................................................................105 8.10. Matrizes ................................................................................................................................................................105 8.11. Tipos compostos .................................................................................................................................................115 8.12. Tipos identificadores de objeto..........................................................................................................................118 8.13. Pseudotipos..........................................................................................................................................................120 Captulo 9. Funes e Operadores .................................................................................................................................123 9.1. Operadores lgicos ...............................................................................................................................................123 9.2. Operadores de comparao ................................................................................................................................123 9.3. Funes e operadores matemticos ..................................................................................................................125 9.4. Funes e operadores para cadeias de caracteres .........................................................................................129 9.5. Funes e operadores para cadeias binrias ...................................................................................................142 9.6. Funes e operadores para cadeias de bits .....................................................................................................144 9.7. Correspondncia com padro .............................................................................................................................144 9.8. Funes para formatar tipo de dado ..................................................................................................................167 9.9. Funes e operadores para data e hora............................................................................................................172 9.10. Funes e operadores geomtricos .................................................................................................................189 9.11. Funes e operadores para endereo de rede ..............................................................................................192 9.12. Funes para manipulao de seqncias .....................................................................................................194 9.13. Expresses condicionais ....................................................................................................................................195 9.14. Funes e operadores para matrizes ..............................................................................................................197 9.15. Funes de agregao .......................................................................................................................................198 9.16. Expresses de subconsulta ...............................................................................................................................200 9.17. Comparaes de linha e de matriz ...................................................................................................................204 9.18. Funes que retornam conjunto .......................................................................................................................205 9.19. Funes de informao do sistema..................................................................................................................206 9.20. Funes para administrao do sistema .........................................................................................................216 Captulo 10. Converso de tipo .......................................................................................................................................219 10.1. Viso geral ...........................................................................................................................................................219 10.2. Operadores ..........................................................................................................................................................220 10.3. Funes ................................................................................................................................................................222 10.4. Armazenamento de valor ...................................................................................................................................224 10.5. Construes UNION, CASE e ARRAY ................................................................................................................225 Captulo 11. ndices ...........................................................................................................................................................227 11.1. Introduo.............................................................................................................................................................227 11.2. Tipos de ndice ....................................................................................................................................................228 11.3. ndices com vrias colunas ................................................................................................................................229 11.4. ndices nicos ......................................................................................................................................................230 11.5. ndices em expresses .......................................................................................................................................230 11.6. Classes de operadores.......................................................................................................................................231 11.7. ndices parciais ....................................................................................................................................................232 11.8. Examinar a utilizao do ndice ........................................................................................................................233 Captulo 12. Controle de simultaneidade .......................................................................................................................236 12.1. Introduo.............................................................................................................................................................236 12.2. Isolamento da transao ....................................................................................................................................236 12.3. Bloqueio explcito ................................................................................................................................................239 12.4. Verificao da consistncia dos dados no nvel do aplicativo ......................................................................242 12.5. Bloqueio e ndices ...............................................................................................................................................242 Captulo 13. Dicas de desempenho ................................................................................................................................244 13.1. Utilizao do comando EXPLAIN .....................................................................................................................244 13.2. Estatsticas utilizadas pelo planejador .............................................................................................................247 13.3. Controle do planejador com clusulas JOIN explcitas .................................................................................248 13.4. Carga dos dados no banco ................................................................................................................................250 III. Administrao do servidor ...........................................................................................................................................252 Captulo 14. Instrues de instalao .............................................................................................................................253 14.1. Resumo da instalao ........................................................................................................................................253 14.2. Requisitos .............................................................................................................................................................253 14.3. Obteno dos arquivos fonte.............................................................................................................................255

14.4. Se estiver atualizando ........................................................................................................................................255 14.5. Procedimento de instalao ..............................................................................................................................256 14.6. Configuraes de ps-instalao......................................................................................................................261 14.7. Plataformas suportadas .....................................................................................................................................262 14.8. Instalao no Fedora Core 3 .............................................................................................................................265 Captulo 15. Instalao apenas do cliente no Windows...............................................................................................269 Captulo 16. Ambiente do servidor em tempo de execuo ........................................................................................270 16.1. A conta de usurio do PostgreSQL ..................................................................................................................270 16.2. Criao do agrupamento de bancos de dados ...............................................................................................270 16.3. Inicializao do servidor de banco de dados ..................................................................................................271 16.4. Configurao em tempo de execuo .............................................................................................................274 16.5. Gerncia dos recursos do ncleo .....................................................................................................................297 16.6. Parada do servidor ..............................................................................................................................................302 16.7. Conexes TCP/IP seguras com SSL ...............................................................................................................303 16.8. Conexes TCP/IP seguras por tneis SSH.....................................................................................................304 Captulo 17. Usurios do banco de dados e privilgios ...............................................................................................306 17.1. Usurios de banco de dados .............................................................................................................................306 17.2. Atributos do usurio ............................................................................................................................................307 17.3. Grupos ..................................................................................................................................................................307 17.4. Privilgios .............................................................................................................................................................308 17.5. Funes e gatilhos ..............................................................................................................................................308 Captulo 18. Gerenciamento de bancos de dados........................................................................................................309 18.1. Viso geral ...........................................................................................................................................................309 18.2. Criao de banco de dados ...............................................................................................................................309 18.3. Bancos de dado modelo.....................................................................................................................................310 18.4. Configurao do banco de dados .....................................................................................................................312 18.5. Remoo do banco de dados ...........................................................................................................................312 18.6. Espaos de tabelas .............................................................................................................................................312 Captulo 19. Autenticao de clientes.............................................................................................................................316 19.1. O arquivo pg_hba.conf .......................................................................................................................................316 19.2. Mtodos de autenticao ...................................................................................................................................320 19.3. Problemas de autenticao ...............................................................................................................................323 Captulo 20. Idioma............................................................................................................................................................325 20.1. Suporte a idioma .................................................................................................................................................325 20.2. Suporte a conjuntos de caracteres ...................................................................................................................327 Captulo 21. Rotinas de manuteno do banco de dados ...........................................................................................332 21.1. Rotina de Limpeza ..............................................................................................................................................332 21.2. Rotina de reindexao ........................................................................................................................................335 21.3. Manuteno do arquivo de registro ..................................................................................................................335 Captulo 22. Criao e restaurao de cpias de segurana .....................................................................................337 22.1. Mtodo SQL-dump ..............................................................................................................................................337 22.2. Cpia de segurana no nvel de sistema de arquivo .....................................................................................339 22.3. Cpia de segurana em-linha............................................................................................................................340 22.4. Migrao entre verses ......................................................................................................................................346 Captulo 23. Monitoramento das atividades do banco de dados ................................................................................348 23.1. Ferramentas padro do Unix .............................................................................................................................348 23.2. O coletor de estatsticas .....................................................................................................................................348 23.3. Ver os bloqueios ..................................................................................................................................................352 Captulo 24. Monitoramento da utilizao de disco ......................................................................................................354 24.1. Determinao da utilizao de disco................................................................................................................354 24.2. Falha de disco cheio ...........................................................................................................................................356 Captulo 25. Registro prvio da escrita (WAL) ..............................................................................................................357 25.1. Benefcios do WAL..............................................................................................................................................357 25.2. Configurao do WAL.........................................................................................................................................357 25.3. Internamente ........................................................................................................................................................359 Captulo 26. Testes de regresso ...................................................................................................................................360 26.1. Execuo dos testes ...........................................................................................................................................360 26.2. Avaliao dos testes ...........................................................................................................................................361 26.3. Arquivos de comparao especficos de plataformas ...................................................................................363 IV. Interfaces cliente ..........................................................................................................................................................365 Captulo 27. libpq - Biblioteca C ......................................................................................................................................366 27.1. Funes de controle da conexo com o banco de dados.............................................................................366 27.2. Funes de status da conexo .........................................................................................................................371

27.3. Funes de execuo de comando..................................................................................................................373 27.4. Processamento de comandos assncronos ....................................................................................................383 27.5. Cancelamento de comandos em andamento .................................................................................................386 27.6. A interface de caminho-rpido ..........................................................................................................................387 27.7. Notificao assncrona .......................................................................................................................................387 27.8. Funes associadas ao comando COPY..........................................................................................................388 27.9. Funes de controle ...........................................................................................................................................392 27.10. Processamento de notas .................................................................................................................................392 27.11. Variveis de Ambiente .....................................................................................................................................393 27.12. O arquivo de senhas.........................................................................................................................................394 27.13. Suporte a SSL ...................................................................................................................................................395 27.14. Comportamento dos programas com fluxo de execuo ...........................................................................395 27.15. Construo de programas que utilizam a libpq ............................................................................................396 27.16. Programas exemplo..........................................................................................................................................397 Captulo 28. Objetos grandes ..........................................................................................................................................405 28.1. Histrico ................................................................................................................................................................405 28.2. Funcionalidades da implementao .................................................................................................................405 28.3. Interfaces cliente .................................................................................................................................................405 28.4. Funes do lado servidor ...................................................................................................................................407 28.5. Programa exemplo ..............................................................................................................................................408 Captulo 29. ECPG - SQL incorporado linguagem C ................................................................................................413 29.1. O conceito ............................................................................................................................................................413 29.2. Conexo com o servidor de banco de dados .................................................................................................413 29.3. Fechamento de conexo ....................................................................................................................................414 29.4. Execuo de comandos SQL ............................................................................................................................414 29.5. Escolha da conexo............................................................................................................................................415 29.6. Utilizao de variveis hospedeiras .................................................................................................................416 29.7. SQL dinmico ......................................................................................................................................................418 29.8. Utilizao das reas descritoras de SQL.........................................................................................................419 29.9. Tratamento de erro .............................................................................................................................................420 29.10. Incluso de arquivos .........................................................................................................................................424 29.11. Processamento dos programas com SQL incorporado ..............................................................................425 29.12. Funes da biblioteca.......................................................................................................................................426 29.13. Internamente ......................................................................................................................................................426 29.14. Exemplos ............................................................................................................................................................427 Captulo 30. O esquema de informaes .......................................................................................................................437 30.1. O esquema ...........................................................................................................................................................437 30.2. Tipos de dado ......................................................................................................................................................437 30.3. information_schema_catalog_name ................................................................................................................438 30.4. applicable_roles ...................................................................................................................................................438 30.5. check_constraints................................................................................................................................................439 30.6. column_domain_usage ......................................................................................................................................439 30.7. column_privileges................................................................................................................................................440 30.8. column_udt_usage ..............................................................................................................................................441 30.9. columns.................................................................................................................................................................441 30.10. constraint_column_usage ................................................................................................................................444 30.11. constraint_table_usage ....................................................................................................................................445 30.12. data_type_privileges .........................................................................................................................................446 30.13. domain_constraints ...........................................................................................................................................446 30.14. domain_udt_usage ...........................................................................................................................................447 30.15. domains ..............................................................................................................................................................447 30.16. element_types ...................................................................................................................................................451 30.17. enabled_roles ....................................................................................................................................................453 30.18. key_column_usage ...........................................................................................................................................453 30.19. parameters .........................................................................................................................................................454 30.20. referential_constraints ......................................................................................................................................456 30.21. role_column_grants ..........................................................................................................................................457 30.22. role_routine_grants ...........................................................................................................................................457 30.23. role_table_grants ..............................................................................................................................................457 30.24. role_usage_grants ............................................................................................................................................458 30.25. routine_privileges ..............................................................................................................................................458 30.26. routines ...............................................................................................................................................................459 30.27. schemata ............................................................................................................................................................461

30.28. sql_features........................................................................................................................................................462 30.29. sql_implementation_info ..................................................................................................................................463 30.30. sql_languages....................................................................................................................................................463 30.31. sql_packages .....................................................................................................................................................464 30.32. sql_sizing ............................................................................................................................................................465 30.33. sql_sizing_profiles .............................................................................................................................................466 30.34. table_constraints ...............................................................................................................................................466 30.35. table_privileges..................................................................................................................................................467 30.36. tables...................................................................................................................................................................468 30.37. triggers ................................................................................................................................................................469 30.38. usage_privileges ...............................................................................................................................................470 30.39. view_column_usage .........................................................................................................................................470 30.40. view_table_usage .............................................................................................................................................471 30.41. views ...................................................................................................................................................................471 V. Programao servidor ..................................................................................................................................................479 Captulo 31. Estendendo a linguagem SQL...................................................................................................................480 31.1. Como funciona a extensibilidade ......................................................................................................................480 31.2. O sistema de tipos de dado do PostgreSQL ...................................................................................................480 31.3. Funes definidas pelo usurio ........................................................................................................................481 31.4. Funes na linguagem de comando (SQL).....................................................................................................482 31.5. Sobrecarga de funo ........................................................................................................................................489 31.6. Categorias de volatilidade de funo ...............................................................................................................489 31.7. Funes nas linguagens procedurais ..............................................................................................................490 31.8. Funes internas .................................................................................................................................................490 31.9. Funes na linguagem C ...................................................................................................................................491 31.10. Agregaes definidas pelo usurio ................................................................................................................520 31.11. Tipos definidos pelo usurio ............................................................................................................................525 31.12. Operadores definidos pelo usurio ................................................................................................................528 31.13. Informaes de otimizao do operador .......................................................................................................532 31.14. Interfacing Extensions To Indexes .................................................................................................................536 Captulo 32. Gatilhos .........................................................................................................................................................543 32.1. Viso geral do comportamento dos gatilhos ...................................................................................................543 32.2. Visibilidade das mudanas nos dados .............................................................................................................544 32.3. Gatilhos escritos em C .......................................................................................................................................544 32.4. Um exemplo completo ........................................................................................................................................546 Captulo 33. O sistema de regras ....................................................................................................................................550 33.1. A rvore de comando .........................................................................................................................................550 33.2. As vises e o sistema de regras .......................................................................................................................551 33.3. Regras para INSERT, UPDATE e DELETE ....................................................................................................557 33.4. Regras e privilgios ............................................................................................................................................566 33.5. Regras e status dos comandos .........................................................................................................................567 33.6. Regras versus gatilhos .......................................................................................................................................568 Captulo 34. Linguagens procedurais .............................................................................................................................571 34.1. Instalao de linguagem procedural ................................................................................................................571 Captulo 35. PL/pgSQL - Linguagem procedural SQL .................................................................................................573 35.1. Viso geral ...........................................................................................................................................................573 35.2. Dicas para desenvolvimento em PL/pgSQL ...................................................................................................574 35.3. Estrutura da linguagem PL/pgSQL ...................................................................................................................576 35.4. Declaraes .........................................................................................................................................................577 35.5. Expresses...........................................................................................................................................................581 35.6. Instrues bsicas ..............................................................................................................................................581 35.7. Estruturas de controle.........................................................................................................................................585 35.8. Cursores ...............................................................................................................................................................591 35.9. Erros e mensagens .............................................................................................................................................595 35.10. Gatilhos escritos em PL/pgSQL ......................................................................................................................595 35.11. Converso do PL/SQL do Oracle para o PL/pgSQL do PostgreSQL .......................................................604 Captulo 36. PL/Tcl - Tcl Procedural Language ............................................................................................................614 36.1. Viso geral ...........................................................................................................................................................614 36.2. PL/Tcl Functions and Arguments ......................................................................................................................614 36.3. Data Values in PL/Tcl .........................................................................................................................................615 36.4. Global Data in PL/Tcl ..........................................................................................................................................615 36.5. Database Access from PL/Tcl ...........................................................................................................................616 36.6. Trigger Procedures in PL/Tcl .............................................................................................................................617

36.7. Modules and the unknown command ..............................................................................................................619 36.8. Tcl Procedure Names .........................................................................................................................................619 Captulo 37. PL/Perl - Perl Procedural Language .........................................................................................................620 37.1. PL/Perl Functions and Arguments ....................................................................................................................620 37.2. Database Access from PL/Perl .........................................................................................................................621 37.3. Data Values in PL/Perl .......................................................................................................................................623 37.4. Global Values in PL/Perl ....................................................................................................................................623 37.5. Trusted and Untrusted PL/Perl ..........................................................................................................................623 37.6. PL/Perl Triggers ...................................................................................................................................................624 37.7. Limitations and Missing Features .....................................................................................................................625 Captulo 38. PL/Python - Python Procedural Language ..............................................................................................626 38.1. PL/Python Functions ...........................................................................................................................................626 38.2. Trigger Functions ................................................................................................................................................626 38.3. Database Access ................................................................................................................................................627 Captulo 39. PL/Ruby - Linguagem procedural Ruby ...................................................................................................628 39.1. Viso geral ...........................................................................................................................................................628 39.2. Funes escritas em PL/Ruby ..........................................................................................................................630 39.3. Validao de dgito verificador usando PL/Ruby ............................................................................................636 39.4. Gatilhos escritos em PL/Ruby ...........................................................................................................................643 39.5. Extenso para acesso ao PostgreSQL pela linguagem Ruby .....................................................................645 39.6. Mdulos e classes do PL/Ruby .........................................................................................................................648 Captulo 40. Server Programming Interface ..................................................................................................................652 40.1. Interface Functions..............................................................................................................................................652 SPI_connect ...................................................................................................................................................................653 SPI_finish .......................................................................................................................................................................654 SPI_push ........................................................................................................................................................................655 SPI_pop ..........................................................................................................................................................................656 SPI_execute ...................................................................................................................................................................657 SPI_exec ........................................................................................................................................................................660 SPI_prepare ...................................................................................................................................................................661 SPI_getargcount ............................................................................................................................................................662 SPI_getargtypeid ...........................................................................................................................................................663 SPI_is_cursor_plan .......................................................................................................................................................664 SPI_execute_plan .........................................................................................................................................................665 SPI_execp ......................................................................................................................................................................666 SPI_cursor_open...........................................................................................................................................................667 SPI_cursor_find .............................................................................................................................................................668 SPI_cursor_fetch ...........................................................................................................................................................669 SPI_cursor_move ..........................................................................................................................................................670 SPI_cursor_close ..........................................................................................................................................................671 SPI_saveplan .................................................................................................................................................................672 40.2. Interface Support Functions...............................................................................................................................672 SPI_fname ......................................................................................................................................................................673 SPI_fnumber ..................................................................................................................................................................674 SPI_getvalue ..................................................................................................................................................................675 SPI_getbinval .................................................................................................................................................................676 SPI_gettype ....................................................................................................................................................................677 SPI_gettypeid.................................................................................................................................................................678 SPI_getrelname .............................................................................................................................................................679 40.3. Memory Management .........................................................................................................................................679 SPI_palloc ......................................................................................................................................................................680 SPI_repalloc ...................................................................................................................................................................681 SPI_pfree........................................................................................................................................................................682 SPI_copytuple ................................................................................................................................................................683 SPI_returntuple ..............................................................................................................................................................684 SPI_modifytuple ............................................................................................................................................................685 SPI_freetuple .................................................................................................................................................................686 SPI_freetuptable ............................................................................................................................................................687 SPI_freeplan ..................................................................................................................................................................688 40.4. Visibility of Data Changes ..................................................................................................................................688 40.5. Exemplos ..............................................................................................................................................................688 VI. Referncia .....................................................................................................................................................................693 I. Comandos SQL...............................................................................................................................................................694

ABORT............................................................................................................................................................................695 ALTER AGGREGATE ..................................................................................................................................................696 ALTER CONVERSION .................................................................................................................................................697 ALTER DATABASE ......................................................................................................................................................698 ALTER DOMAIN............................................................................................................................................................700 ALTER FUNCTION .......................................................................................................................................................702 ALTER GROUP .............................................................................................................................................................703 ALTER INDEX ...............................................................................................................................................................704 ALTER LANGUAGE .....................................................................................................................................................706 ALTER OPERATOR .....................................................................................................................................................707 ALTER OPERATOR CLASS .......................................................................................................................................708 ALTER SCHEMA ..........................................................................................................................................................709 ALTER SEQUENCE .....................................................................................................................................................710 ALTER TABLE ...............................................................................................................................................................712 ALTER TABLESPACE .................................................................................................................................................717 ALTER TRIGGER .........................................................................................................................................................718 ALTER TYPE .................................................................................................................................................................719 ALTER USER ................................................................................................................................................................720 ANALYZE .......................................................................................................................................................................723 BEGIN .............................................................................................................................................................................725 CHECKPOINT ...............................................................................................................................................................728 CLOSE ............................................................................................................................................................................729 CLUSTER .......................................................................................................................................................................730 COMMENT .....................................................................................................................................................................732 COMMIT .........................................................................................................................................................................735 COPY ..............................................................................................................................................................................736 CREATE AGGREGATE ...............................................................................................................................................743 CREATE CAST .............................................................................................................................................................746 CREATE CONSTRAINT TRIGGER ...........................................................................................................................749 CREATE CONVERSION .............................................................................................................................................750 CREATE DATABASE ...................................................................................................................................................752 CREATE DOMAIN ........................................................................................................................................................754 CREATE FUNCTION....................................................................................................................................................758 CREATE GROUP..........................................................................................................................................................763 CREATE INDEX ............................................................................................................................................................765 CREATE LANGUAGE ..................................................................................................................................................768 CREATE OPERATOR ..................................................................................................................................................770 CREATE OPERATOR CLASS ....................................................................................................................................773 CREATE RULE .............................................................................................................................................................776 CREATE SCHEMA .......................................................................................................................................................779 CREATE SEQUENCE ..................................................................................................................................................782 CREATE TABLE............................................................................................................................................................786 CREATE TABLE AS .....................................................................................................................................................798 CREATE TABLESPACE ..............................................................................................................................................800 CREATE TRIGGER ......................................................................................................................................................802 CREATE TYPE ..............................................................................................................................................................805 CREATE USER .............................................................................................................................................................811 CREATE VIEW ..............................................................................................................................................................813 DEALLOCATE ...............................................................................................................................................................816 DECLARE.......................................................................................................................................................................817 DELETE ..........................................................................................................................................................................820 DROP AGGREGATE....................................................................................................................................................822 DROP CAST ..................................................................................................................................................................823 DROP CONVERSION ..................................................................................................................................................824 DROP DATABASE........................................................................................................................................................825 DROP DOMAIN .............................................................................................................................................................826 DROP FUNCTION ........................................................................................................................................................827 DROP GROUP ..............................................................................................................................................................828 DROP INDEX.................................................................................................................................................................829 DROP LANGUAGE.......................................................................................................................................................830 DROP OPERATOR ......................................................................................................................................................831 DROP OPERATOR CLASS ........................................................................................................................................832 DROP RULE ..................................................................................................................................................................833

DROP SCHEMA ............................................................................................................................................................834 DROP SEQUENCE ......................................................................................................................................................835 DROP TABLE ................................................................................................................................................................836 DROP TABLESPACE ...................................................................................................................................................837 DROP TRIGGER ...........................................................................................................................................................838 DROP TYPE ..................................................................................................................................................................839 DROP USER ..................................................................................................................................................................840 DROP VIEW...................................................................................................................................................................841 END .................................................................................................................................................................................842 EXECUTE.......................................................................................................................................................................843 EXPLAIN.........................................................................................................................................................................845 FETCH ............................................................................................................................................................................848 GRANT ...........................................................................................................................................................................852 INSERT ...........................................................................................................................................................................857 LISTEN ...........................................................................................................................................................................859 LOAD ..............................................................................................................................................................................860 LOCK ..............................................................................................................................................................................861 MOVE..............................................................................................................................................................................864 NOTIFY ...........................................................................................................................................................................865 PREPARE ......................................................................................................................................................................867 REINDEX........................................................................................................................................................................869 RELEASE SAVEPOINT ...............................................................................................................................................872 RESET ............................................................................................................................................................................874 REVOKE .........................................................................................................................................................................875 ROLLBACK ....................................................................................................................................................................878 ROLLBACK TO SAVEPOINT ......................................................................................................................................880 SAVEPOINT...................................................................................................................................................................882 SELECT ..........................................................................................................................................................................885 SELECT INTO ...............................................................................................................................................................898 SET..................................................................................................................................................................................900 SET CONSTRAINTS ....................................................................................................................................................903 SET SESSION AUTHORIZATION .............................................................................................................................905 SET TRANSACTION ....................................................................................................................................................906 SHOW .............................................................................................................................................................................908 START TRANSACTION ...............................................................................................................................................910 TRUNCATE ....................................................................................................................................................................911 UNLISTEN ......................................................................................................................................................................912 UPDATE .........................................................................................................................................................................913 VACUUM ........................................................................................................................................................................916 II. Aplicativos cliente do PostgreSQL ..............................................................................................................................919 clusterdb .........................................................................................................................................................................920 createdb ..........................................................................................................................................................................922 createlang .......................................................................................................................................................................924 createuser.......................................................................................................................................................................926 dropdb .............................................................................................................................................................................929 droplang ..........................................................................................................................................................................931 dropuser..........................................................................................................................................................................933 ecpg .................................................................................................................................................................................935 pg_config ........................................................................................................................................................................937 pg_dump .........................................................................................................................................................................939 pg_dumpall .....................................................................................................................................................................945 pg_restore ......................................................................................................................................................................949 psql ..................................................................................................................................................................................954 vacuumdb .......................................................................................................................................................................976 III. Aplicativos do servidor PostgreSQL ..........................................................................................................................979 initdb ................................................................................................................................................................................980 ipcclean ...........................................................................................................................................................................983 pg_controldata ...............................................................................................................................................................984 pg_ctl ...............................................................................................................................................................................985 pg_resetxlog...................................................................................................................................................................989 postgres ..........................................................................................................................................................................991 postmaster ......................................................................................................................................................................994 VII. Internamente..............................................................................................................................................................1000

Captulo 41. Viso geral da estrutura interna do PostgreSQL ..................................................................................1001 41.1. O caminho do comando ...................................................................................................................................1001 41.2. Como as conexes so estabelecidas ..........................................................................................................1001 41.3. O estgio de anlise .........................................................................................................................................1002 41.4. O sistema de regras do PostgreSQL .............................................................................................................1003 41.5. Planejador/Otimizador ......................................................................................................................................1003 41.6. Executor ..............................................................................................................................................................1004 Captulo 42. Catlogos do sistema ...............................................................................................................................1006 42.1. Viso geral .........................................................................................................................................................1006 42.2. pg_aggregate .....................................................................................................................................................1007 42.3. pg_am .................................................................................................................................................................1007 42.4. pg_amop .............................................................................................................................................................1008 42.5. pg_amproc .........................................................................................................................................................1009 42.6. pg_attrdef ...........................................................................................................................................................1009 42.7. pg_attribute ........................................................................................................................................................1009 42.8. pg_cast ...............................................................................................................................................................1011 42.9. pg_class ..............................................................................................................................................................1011 42.10. pg_constraint ...................................................................................................................................................1013 42.11. pg_conversion .................................................................................................................................................1014 42.12. pg_database ....................................................................................................................................................1014 42.13. pg_depend .......................................................................................................................................................1015 42.14. pg_description .................................................................................................................................................1016 42.15. pg_group ..........................................................................................................................................................1016 42.16. pg_index ...........................................................................................................................................................1017 42.17. pg_inherits ........................................................................................................................................................1017 42.18. pg_language ....................................................................................................................................................1018 42.19. pg_largeobject .................................................................................................................................................1018 42.20. pg_listener ........................................................................................................................................................1019 42.21. pg_namespace ................................................................................................................................................1019 42.22. pg_opclass .......................................................................................................................................................1019 42.23. pg_operator ......................................................................................................................................................1020 42.24. pg_proc .............................................................................................................................................................1021 42.25. pg_rewrite.........................................................................................................................................................1022 42.26. pg_shadow .......................................................................................................................................................1022 42.27. pg_statistic .