|
1 | 1 |
|
2 | 2 | Perguntas Frequentes (FAQ) sobre PostgreSQL
|
3 | 3 |
|
4 |
| - �ltima atualiza��o: Sat Nov 20 17:28:23 EDT 2004 |
| 4 | + �ltima atualiza��o: Dom Jan 9 14:44:04 EDT 2005 |
5 | 5 |
|
6 | 6 | Mantenedor atual: Bruce Momjian (pgman@candle.pha.pa.us)
|
7 | 7 |
|
8 | 8 | Traduzido por: Euler Taveira de Oliveira (eulerto@yahoo.com.br)
|
9 | 9 |
|
10 | 10 | A vers�o mais recente desse documento pode ser vista em
|
11 |
| - http://www.PostgreSQL.org/docs/faqs/FAQ.html (EN). |
12 |
| - http://www.PostgreSQL.org/docs/faqs/FAQ_brazilian.html (pt_BR). |
| 11 | + http://www.postgresql.org/files/documentation/faqs/FAQ.html (EN). |
| 12 | + http://www.postgresql.org/files/documentation/faqs/FAQ_brazilian.html |
| 13 | + (pt_BR). |
13 | 14 |
|
14 | 15 | Perguntas sobre plataformas espec�ficas s�o respondidas em
|
15 |
| - http://www.PostgreSQL.org/docs/index.html. |
| 16 | + http://www.postgresql.org/docs/faq/. |
16 | 17 | _________________________________________________________________
|
17 | 18 |
|
18 | 19 | Perguntas Gerais
|
|
92 | 93 | 4.14) Qual � a diferen�a entre os v�rios tipos de dados de caracteres?
|
93 | 94 | 4.15.1) Como eu crio um campo serial/auto incremento?
|
94 | 95 | 4.15.2) Como eu consigo o valor de um campo SERIAL?
|
95 |
| - 4.15.3) currval() e nextval() n�o lidam com condi��o de corrida com |
96 |
| - outros usu�rios? |
| 96 | + 4.15.3) currval() n�o lida com condi��o de corrida com outros |
| 97 | + usu�rios? |
97 | 98 | 4.15.4) Por que os n�meros da minha sequ�ncia n�o s�o reutilizados
|
98 | 99 | quando uma transa��o � abortada? Por que h� intervalos nos n�meros da
|
99 | 100 | minha sequ�ncia/coluna SERIAL?
|
|
128 | 129 |
|
129 | 130 | 1.1) O que � PostgreSQL? Como ele � pronunciado?
|
130 | 131 |
|
131 |
| - PostgreSQL � pronunciado Post-Gres-Qui-El. Um arquivo de �udio est� |
132 |
| - dispon�vel em http://www.postgresql.org/postgresql.mp3 para aqueles |
133 |
| - que gostariam de ouvir a pron�ncia. |
| 132 | + PostgreSQL � pronunciado Post-Gres-Q-L. |
134 | 133 |
|
135 | 134 | PostgreSQL � um melhoramento do sistema de ger�ncia de banco de dados
|
136 | 135 | POSTGRES (e tamb�m �, �s vezes, chamado simplesmente de "Postgres"),
|
|
147 | 146 | ao grupo). O grupo � respons�vel por todo o desenvolvimento do
|
148 | 147 | PostgreSQL. � um projeto da comunidade e n�o � controlado por nenhuma
|
149 | 148 | empresa. Para se juntar ao grupo, veja a FAQ do desenvolvedor em
|
150 |
| - http://www.PostgreSQL.org/docs/faqs/FAQ_DEV.html |
| 149 | + http://www.postgresql.org/files/documentation/faqs/FAQ_DEV.html |
151 | 150 |
|
152 | 151 | Os autores do PostgreSQL 1.01 foram Andrew Yu e Jolly Chen. Muitos
|
153 | 152 | outros contribuiram para portar, testar, depurar e melhorar o c�digo.
|
|
166 | 165 |
|
167 | 166 | PostgreSQL Sistema de Ger�ncia de Banco de Dados
|
168 | 167 |
|
169 |
| - Portions copyright (c) 1996-2004, PostgreSQL Global Development Group |
| 168 | + Portions Copyright (c) 1996-2005, PostgreSQL Global Development Group |
170 | 169 | Portions Copyright (c) 1994-6 Regents of the University of California
|
171 | 170 |
|
172 | 171 | Permiss�o de uso, c�pia, modifica��o e distribui��o desse software e
|
|
204 | 203 | Iniciando com a vers�o 8.0, o PostgreSQL agora pode ser executado
|
205 | 204 | nativamente nos sistemas operacionais Microsoft Windows baseados no NT
|
206 | 205 | tais como Win2000, WinXP e Win2003. Um instalador est� dispon�vel em
|
207 |
| - http://pgfoundry.org/projects/pginstaller. |
| 206 | + http://pgfoundry.org/projects/pginstaller Vers�es do Windows baseados |
| 207 | + no MSDOS (Win95, Win98, WinMe) podem executar o PostgreSQL utilizando |
| 208 | + o Cygwin. |
208 | 209 |
|
209 |
| - H� tamb�m um porte para Novell Netware 6 em http://forge.novell.com. |
| 210 | + H� tamb�m um porte para Novell Netware 6 em http://forge.novell.com e |
| 211 | + uma vers�o para OS/2 (eComStation) em |
| 212 | + http://hobbes.nmsu.edu/cgi-bin/h-search?sh=1&button=Search&key=postgre |
| 213 | + SQL&stype=all&sort=type&dir=%2F. |
210 | 214 |
|
211 | 215 | 1.5) Onde eu posso conseguir o PostgreSQL?
|
212 | 216 |
|
|
251 | 255 |
|
252 | 256 | http://www.PostgreSQL.org
|
253 | 257 |
|
254 |
| - H� tamb�m um canal de IRC na Freenode e EFNet, canal PostgreSQL. Voc� |
255 |
| - pode utilizar o comando Unix irc -c '#PostgreSQL' "$USER" |
256 |
| - irc.phoenix.net. ou irc -c '#PostgreSQL' "$USER" irc.freenode.net. |
| 258 | + O principal canal de IRC � o #postgresql na Freenode |
| 259 | + (irc.freenode.net). Para se conectar voc� pode utilizar o comando Unix |
| 260 | + irc -c '#postgresql' "$USER" irc.freenode.net ou utilizar qualquer |
| 261 | + outro cliente de IRC. Um canal hisp�nico (#postgresql-es) e um franc�s |
| 262 | + (#postgresqlfr) tamb�m existem na mesma rede. H� tamb�m um canal |
| 263 | + PostgreSQL na EFNet. |
257 | 264 |
|
258 | 265 | Uma lista de empresas que prestam suporte comercial est� dispon�vel em
|
259 | 266 | http://techdocs.postgresql.org/companies.php.
|
260 | 267 |
|
261 | 268 | 1.7) Qual � a �ltima vers�o?
|
262 | 269 |
|
263 |
| - A �ltima vers�o do PostgreSQL � a vers�o 7.4.5. |
| 270 | + A �ltima vers�o do PostgreSQL � a vers�o 7.4.6. |
264 | 271 |
|
265 | 272 | N�s planejamos lan�ar vers�es novas a cada seis ou oito meses.
|
266 | 273 |
|
|
278 | 285 | cole��o de artigos t�cnicos sobre PostgreSQL em
|
279 | 286 | http://techdocs.PostgreSQL.org/.
|
280 | 287 |
|
281 |
| - psql tem alguns comandos \d para mostrar informa��o sobre tipos, |
282 |
| - operadores, fun��es, agrega��es, etc. |
| 288 | + O programa cliente de linha de comando psql tem alguns comandos \d |
| 289 | + para mostrar informa��o sobre tipos, operadores, fun��es, agrega��es, |
| 290 | + etc. Use \? para mostrar os comandos dispon�veis. |
283 | 291 |
|
284 | 292 | Nosso web site cont�m ainda mais documenta��o.
|
285 | 293 |
|
|
327 | 335 |
|
328 | 336 | 1.13) Como eu informo a exist�ncia de um bug?
|
329 | 337 |
|
330 |
| - Por favor visite a p�gina da ferramenta que reporta bugs em |
331 |
| - http://www.PostgreSQL.org/bugs/bugs.php, que ir� lher dar as |
332 |
| - instru��es e dire��es de como submeter um bug. |
| 338 | + Visite o formul�rio que reporta bugs do PostgreSQL em |
| 339 | + http://www.postgresql.org/support/submitbug. |
333 | 340 |
|
334 | 341 | Verifique tamb�m o nosso ftp ftp://ftp.PostgreSQL.org/pub para ver se
|
335 | 342 | h� uma vers�o mais recente do PostgreSQL ou patches.
|
|
349 | 356 | travamentos (locks).
|
350 | 357 |
|
351 | 358 | Performance
|
352 |
| - PostgreSQL tem a performance similar a outros bancos de dados |
353 |
| - comerciais e de c�digo livre. Ele � mais r�pido em algumas |
354 |
| - coisas, mais lento em outras. Comparado ao MySQL ou sistemas de |
355 |
| - bancos de dados "leves", n�s somos mais r�pidos com m�ltiplos |
356 |
| - usu�rios, consultas complexas e carga de consultas de |
| 359 | + A performance do PostgreSQL � compar�vel a outros bancos de |
| 360 | + dados comerciais e de c�digo livre. Ele � mais r�pido em |
| 361 | + algumas coisas, mais lento em outras. Comparado ao MySQL ou |
| 362 | + sistemas de bancos de dados "leves", n�s somos mais r�pidos com |
| 363 | + m�ltiplos usu�rios, consultas complexas e carga de consultas de |
357 | 364 | leitura/escrita. MySQL � mais r�pido para consultas simples com
|
358 | 365 | SELECT feitas por poucos usu�rios. � claro que o MySQL n�o tem
|
359 | 366 | muitas das caracter�sticas mencionadas na se��o Caracter�sticas
|
360 | 367 | acima. N�s desenvolvemos buscando confiabilidade e
|
361 | 368 | caracter�sticas, e n�s continuamos a melhorar a performance a
|
362 |
| - cada vers�o. H� uma p�gina interessante comparando o PostgreSQL |
363 |
| - com o MySQL em |
364 |
| - http://openacs.org/philosophy/why-not-mysql.html. MySQL � uma |
365 |
| - empresa que distribui seu produto via c�digo livre, e requer |
366 |
| - uma licen�a comercial para software de c�digo fechado, e n�o |
367 |
| - uma comunidade de desenvolvimento de c�digo livre como o |
368 |
| - PostgreSQL. |
| 369 | + cada vers�o. |
369 | 370 |
|
370 | 371 | Confiabilidade
|
371 | 372 | N�s sabemos que um SGBD deve ser confi�vel ou ele � in�til. N�s
|
|
413 | 414 | para apoiar o projeto PostgreSQL e n�o financia nenhuma empresa
|
414 | 415 | espec�fica. Se voc� preferir, voc� pode enviar um cheque para o
|
415 | 416 | endere�o de contato.
|
416 |
| - _________________________________________________________________ |
417 | 417 |
|
418 | 418 | Se voc� tiver uma hist�ria de sucesso sobre o PostgreSQL, envie-a para
|
419 |
| - nosso website em http://advocacy.postgresql.org. |
| 419 | + nossa lista advocacy em pgsql-advocacy@postgresql.org. |
| 420 | + _________________________________________________________________ |
420 | 421 |
|
421 | 422 | Perguntas sobre Clientes
|
422 | 423 |
|
|
451 | 452 | 2.3) O PostgreSQL tem interfaces gr�ficas para iteragir com o usu�rio?
|
452 | 453 |
|
453 | 454 | Sim, h� v�rias interfaces gr�ficas para PostgreSQL dispon�veis. Entre
|
454 |
| - elas o PgAccess http://www.pgaccess.org), PgAdmin III |
455 |
| - (http://www.pgadmin.org, RHDB Admin (http://sources.redhat.com/rhdb/ ) |
456 |
| - e o Rekall ( http://www.thekompany.com/products/rekall/, |
457 |
| - propriet�ria). H� tamb�m o PhpPgAdmin ( |
458 |
| - http://phppgadmin.sourceforge.net/ ), uma interface web para |
459 |
| - PostgreSQL. |
| 455 | + elas o PgAccess http://www.pgaccess.org), pgAdmin III |
| 456 | + (http://www.pgadmin.org, RHDB Admin (http://sources.redhat.com/rhdb/ |
| 457 | + ), TORA (http://www.globecom.net/tora/, parcialmente comercial) e o |
| 458 | + Rekall ( http://www.thekompany.com/products/rekall/, propriet�ria). H� |
| 459 | + tamb�m o PhpPgAdmin ( http://phppgadmin.sourceforge.net/ ), uma |
| 460 | + interface web para PostgreSQL. |
460 | 461 |
|
461 | 462 | Veja http://techdocs.postgresql.org/guides/GUITools para uma lista
|
462 | 463 | mais detalhada.
|
|
500 | 501 | kernel. A quantidade exata que voc� precisa vai depender da
|
501 | 502 | arquitetura e de quantos buffers e processos do servidor voc�
|
502 | 503 | configurou para o postmaster. Muitos sistemas, com o n�mero padr�o de
|
503 |
| - buffers e processos, precisam de aproximadamente 1 MB. Veja o Guia do |
504 |
| - Administrador do PostgreSQL para mais informa��o sobre mem�ria |
505 |
| - compartilhada e sem�foros. |
| 504 | + buffers e processos, precisam de aproximadamente 1 MB. Veja a se��o |
| 505 | + PostgreSQL Administrator's Guide/Server Run-time Environment/Managing |
| 506 | + Kernel Resources para mais informa��o sobre mem�ria compartilhada e |
| 507 | + sem�foros. |
506 | 508 |
|
507 | 509 | 3.4) Quando eu tento iniciar o postmaster, eu recebo erros
|
508 | 510 | IpcSemaphoreCreate. Por que?
|
|
546 | 548 | remover e criar �ndices novamente quando estiver fazendo muitas
|
547 | 549 | mudan�as nos dados.
|
548 | 550 |
|
549 |
| - H� v�rias op��es de ajuste. Voc� pode desabilitar o fsync() iniciando |
550 |
| - o postmaster com a op��o -o -F. Isso ir� impedir que fsync()s enviem |
551 |
| - os dados para disco ap�s cada transa��o. |
| 551 | + H� v�rias op��es de ajuste em Administration Guide/Server Run-time |
| 552 | + Environment/Run-time Configuration. Voc� pode desabilitar o fsync() |
| 553 | + utilizando a op��o fsync. Isso ir� impedir que fsync()s enviem os |
| 554 | + dados para disco ap�s cada transa��o. |
552 | 555 |
|
553 |
| - Voc� tamb�m pode utilizar a op��o -B do postmaster para aumentar o |
554 |
| - n�mero de buffers de mem�ria compartilhada utilizados pelos processos |
555 |
| - do servidor. Se voc� definiu este par�metro com um valor muito alto, o |
| 556 | + Voc� pode utilizar a op��o shared_buffers para aumentar o n�mero de |
| 557 | + buffers de mem�ria compartilhada utilizados pelos processos do |
| 558 | + servidor. Se voc� definiu este par�metro com um valor muito alto, o |
556 | 559 | postmaster pode n�o iniciar porque voc� excedeu o limite de espa�o de
|
557 | 560 | mem�ria compartilhada do kernel. Cada buffer � de 8K e o padr�o � de
|
558 |
| - 64 buffers. |
| 561 | + 1000 buffers. |
559 | 562 |
|
560 |
| - Voc� tamb�m pode utilizar a op��o -S do backend para aumentar a m�xima |
561 |
| - quantidade de mem�ria utilizada pelo processo servidor para ordena��es |
562 |
| - tempor�rias. O valor de -S � medido em kilobytes e o padr�o � de 512 |
563 |
| - (ou seja 512K). |
| 563 | + Voc� tamb�m pode utilizar a op��o sort_mem (no PostgreSQL 8.0: |
| 564 | + work_mem) para aumentar a m�xima quantidade de mem�ria utilizada pelo |
| 565 | + processo servidor para cada ordena��o tempor�ria. O valor padr�o � |
| 566 | + 1024 (ou seja 1MB). |
564 | 567 |
|
565 | 568 | Voc� tamb�m pode utilizar o comando CLUSTER para agrupar dados em
|
566 | 569 | tabelas para combinar um �ndice. Veja o manual sobre CLUSTER para mais
|
|
598 | 601 | ambiente id�ntico e problemas de itera��o com o n�cleo/travamento n�o
|
599 | 602 | podem ser reproduzidos.
|
600 | 603 |
|
601 |
| - O programa postgres possue as op��es -s, -A, e -t que podem ser muito |
602 |
| - �teis para depura��o e medidas de performance. |
| 604 | + Se o postmaster est� sendo executado, inicie o psql em uma janela, e |
| 605 | + ent�o encontre o PID do processo postgres utilizado pelo psql |
| 606 | + utilizando |
| 607 | +SELECT pg_backend_pid() |
| 608 | + |
| 609 | + . Utilize um depurador para anexar ao PID do postgres. Voc� pode |
| 610 | + definir pontos de parada (breakpoints) no depurador e digitar |
| 611 | + consultas no psql. Se voc� est� depurando a inicializa��o do postgres, |
| 612 | + voc� pode definir PGOPTIONS="-W n" e ent�o iniciar o psql. Isto |
| 613 | + retardar� a inicializa��o por n segundos ent�o voc� pode anexar o |
| 614 | + depurador ao processo, definir quaisquer pontos de parada e continuar |
| 615 | + pela sequ�ncia de inicializa��o. |
| 616 | + |
| 617 | + H� v�rias vari�veis de configura��o do servidor |
| 618 | +log_* |
| 619 | + |
| 620 | + que habilitam a exibi��o de estat�sticas que podem ser muito �teis |
| 621 | + para depura��o e medidas de performance. |
603 | 622 |
|
604 | 623 | Voc� tamb�m pode compilar com perfil para ver que fun��es est�o
|
605 | 624 | demandando tempo de execu��o. Os arquivo de perfil do n�cleo (backend)
|
@@ -852,7 +871,13 @@ para cima)
|
852 | 871 | * Buscas que n�o diferenciam mai�sculas de min�sculas tais como
|
853 | 872 | ILIKE e ~* n�o utilizam �ndices. Ao inv�s, utilize �ndices
|
854 | 873 | funcionais, que s�o descritos na se��o 4.12.
|
855 |
| - * A localidade padr�o C deve ser utilizada durante o initdb. |
| 874 | + * A localidade padr�o C deve ser utilizada durante o initdb porque |
| 875 | + n�o � poss�vel saber o pr�ximo/maior caracter em uma localidade |
| 876 | + que n�o seja a C. Voc� pode criar um �ndice especial |
| 877 | +text_pattern_ops |
| 878 | + para tais casos que funcionam somente para indexa��o utilizando |
| 879 | +LIKE |
| 880 | + . |
856 | 881 |
|
857 | 882 | Em vers�es anteriores a 8.0, �ndices frequentemente n�o podiam ser
|
858 | 883 | usados a menos que os tipos de dados correspodessem aos tipos da
|
@@ -999,11 +1024,10 @@ te safe)
|
999 | 1024 | Finalmente, voc� poderia utilizar o OID retornado da senten�a INSERT
|
1000 | 1025 | para obter o valor padr�o, embora este seja a abordagem menos
|
1001 | 1026 | port�vel, pois o valor do oid n�o ultrapassa 4 bilh�es. Em Perl,
|
1002 |
| - utilizando DBI com o m�dulo DBD::Pg de Edmund Mergl, o valor do oid |
1003 |
| - est� dispon�vel via $sth->{pg_oid_status} depois de $sth->execute(). |
| 1027 | + utilizando DBI com o m�dulo DBD::Pg, o valor do oid est� dispon�vel |
| 1028 | + via $sth->{pg_oid_status} depois de $sth->execute(). |
1004 | 1029 |
|
1005 |
| - 4.15.3) currval() e nextval() n�o lidam com condi��o de corrida com outros |
1006 |
| - usu�rios? |
| 1030 | + 4.15.3) currval() n�o lida com condi��o de corrida com outros usu�rios? |
1007 | 1031 |
|
1008 | 1032 | N�o. currval() retorna o valor atual atribuido pelo seu n�cleo
|
1009 | 1033 | (backend), e n�o por todos os usu�rios.
|
|
0 commit comments