manual postgresql

Download Manual Postgresql

If you can't read please download the document

Upload: deividi-goncalves

Post on 15-Oct-2015

118 views

Category:

Documents


0 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

  • Sumrio Prefcio ................................................................................................................................................................................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.