*** FAQ_brazilian.html.orig 2005-01-15 11:58:51.000000000 -0200 --- FAQ_brazilian.html 2005-01-15 12:28:50.000000000 -0200 *************** *** 10,16 **** alink="#0000ff">
Última atualização: Sat Nov 20 17:28:23 EDT 2004
Mantenedor atual: Bruce Momjian (pgman@candle.pha.pa.us)
--- 10,16 ----
alink="#0000ff">
Última atualização: Dom Jan 9 14:44:04 EDT 2005
Mantenedor atual: Bruce Momjian (pgman@candle.pha.pa.us)
***************
*** 20,31 ****
"mailto:eulerto@yahoo.com.br">eulerto@yahoo.com.br)
A versão mais recente desse documento pode ser vista em http://www.PostgreSQL.org/docs/faqs/FAQ.html (EN).
! http://www.PostgreSQL.org/docs/faqs/FAQ_brazilian.html
! (pt_BR).
Perguntas sobre plataformas específicas são respondidas em http://www.PostgreSQL.org/docs/index.html.
A versão mais recente desse documento pode ser vista em
! http://www.postgresql.org/files/documentation/faqs/FAQ.html (EN).
!
! http://www.postgresql.org/files/documentation/faqs/FAQ_brazilian.html (pt_BR).
Perguntas sobre plataformas específicas são respondidas em http://www.postgresql.org/docs/faq/.
PostgreSQL é pronunciado Post-Gres-Qui-El. Um arquivo de áudio está ! disponível em http://www.postgresql.org/postgresql.mp3 para aqueles que gostariam ! de ouvir a pronúncia.
PostgreSQL é um melhoramento do sistema de gerência de banco de dados POSTGRES (e também é, às vezes, chamado simplesmente de "Postgres"), --- 118,124 ----
PostgreSQL é pronunciado Post-Gres-Q-L.
PostgreSQL é um melhoramento do sistema de gerência de banco de dados POSTGRES (e também é, às vezes, chamado simplesmente de "Postgres"), *************** *** 140,147 **** por todo o desenvolvimento do PostgreSQL. É um projeto da comunidade e não é controlado por nenhuma empresa. Para se juntar ao grupo, veja a FAQ do desenvolvedor em ! ! http://www.PostgreSQL.org/docs/faqs/FAQ_DEV.html
Os autores do PostgreSQL 1.01 foram Andrew Yu e Jolly Chen. Muitos outros contribuiram para portar, testar, depurar e --- 138,145 ---- por todo o desenvolvimento do PostgreSQL. É um projeto da comunidade e não é controlado por nenhuma empresa. Para se juntar ao grupo, veja a FAQ do desenvolvedor em ! ! http://www.postgresql.org/files/documentation/faqs/FAQ_DEV.html
Os autores do PostgreSQL 1.01 foram Andrew Yu e Jolly Chen. Muitos outros contribuiram para portar, testar, depurar e *************** *** 204,213 **** baseados no NT tais como Win2000, WinXP e Win2003. Um instalador está disponível em ! http://pgfoundry.org/projects/pginstaller.
Há também um porte para Novell Netware 6 em ! http://forge.novell.com.
Há também um porte para Novell Netware 6 em ! http://forge.novell.com ! e uma versão para OS/2 (eComStation) em ! http://hobbes.nmsu.edu/cgi-bin/h-search?sh=1&button=Search&key=postgreSQL&stype=all&sort=type&dir=%2F.
Há também um canal de IRC na Freenode e EFNet, canal PostgreSQL. Você pode utilizar o comando Unix irc -c '#PostgreSQL' "$USER" irc.phoenix.net.
ou irc -c '#PostgreSQL' "$USER" irc.freenode.net.
Uma lista de empresas que prestam suporte comercial está disponível em http://techdocs.postgresql.org/companies.php.
A última versão do PostgreSQL é a versão 7.4.5.
Nós planejamos lançar versões novas a cada seis ou oito meses.
--- 256,269 ---- http://www.PostgreSQL.org !O principal canal de IRC é o #postgresql na Freenode (irc.freenode.net). Para se conectar você pode utilizar o comando Unix irc -c '#postgresql' "$USER" irc.freenode.net
ou utilizar qualquer outro cliente de IRC. Um canal hispânico (#postgresql-es) e um francês (#postgresqlfr) também existem na mesma rede. Há também um canal PostgreSQL na EFNet.
Uma lista de empresas que prestam suporte comercial está disponível em http://techdocs.postgresql.org/companies.php.
A última versão do PostgreSQL é a versão 7.4.6.
Nós planejamos lançar versões novas a cada seis ou oito meses.
*************** *** 280,286 **** href= "http://techdocs.PostgreSQL.org/">http://techdocs.PostgreSQL.org/. !psql tem alguns comandos \d para mostrar informação sobre tipos, operadores, funções, agregações, etc.
Nosso web site contém ainda mais documentação.
--- 282,288 ---- href= "http://techdocs.PostgreSQL.org/">http://techdocs.PostgreSQL.org/. !O programa cliente de linha de comando psql tem alguns comandos \d para mostrar informação sobre tipos, operadores, funções, agregações, etc. Use \? para mostrar os comandos disponíveis.
Nosso web site contém ainda mais documentação.
*************** *** 324,332 ****Por favor visite a página da ferramenta que reporta bugs em http://www.PostgreSQL.org/bugs/bugs.php, ! que irá lher dar as instruções e direções de como submeter um bug.
Verifique também o nosso ftp ftp://ftp.PostgreSQL.org/pub para --- 326,333 ----
Visite o formulário que reporta bugs do PostgreSQL em http://www.postgresql.org/support/submitbug.
Verifique também o nosso ftp ftp://ftp.PostgreSQL.org/pub para *************** *** 345,351 ****
Infra-estrutura de qualidade é muito importante em um projeto de código aberto. Ela previne descontinuidades que podem facilmente descontinuar o andamento do projeto.
É claro, que a infra-estrutura não é barata. Há vários custos iniciais e mensais que são necessários para manté-la. Se você ou sua empresa tem dinheiro que pode ser doado para ajudar a financiar esse esforço, acesse http://store.pgsql.com/shopping/ e faça uma doação.
Embora a página mencione PostgreSQL, Inc, a "contribuição" é somente para apoiar o projeto PostgreSQL e não financia nenhuma empresa específica. Se você preferir, você pode enviar um cheque para o endereço de contato.
-Se você tiver uma história de sucesso sobre o PostgreSQL, envie-a para nosso website em http://advocacy.postgresql.org.
Infra-estrutura de qualidade é muito importante em um projeto de código aberto. Ela previne descontinuidades que podem facilmente descontinuar o andamento do projeto.
É claro, que a infra-estrutura não é barata. Há vários custos iniciais e mensais que são necessários para manté-la. Se você ou sua empresa tem dinheiro que pode ser doado para ajudar a financiar esse esforço, acesse http://store.pgsql.com/shopping/ e faça uma doação.
Embora a página mencione PostgreSQL, Inc, a "contribuição" é somente para apoiar o projeto PostgreSQL e não financia nenhuma empresa específica. Se você preferir, você pode enviar um cheque para o endereço de contato.
!Se você tiver uma história de sucesso sobre o PostgreSQL, envie-a para nossa lista advocacy em pgsql-advocacy@postgresql.org.
! !Sim, há várias interfaces gráficas para PostgreSQL disponíveis. Entre elas o PgAccess ! http://www.pgaccess.org), PgAdmin III (http://www.pgadmin.org, RHDB Admin (http://sources.redhat.com/rhdb/ ! ) e o Rekall ( http://www.thekompany.com/products/rekall/, proprietária). Há também o PhpPgAdmin ( http://phppgadmin.sourceforge.net/ ), uma interface web para --- 405,415 ----
Sim, há várias interfaces gráficas para PostgreSQL disponíveis. Entre elas o PgAccess ! http://www.pgaccess.org), pgAdmin III (http://www.pgadmin.org, RHDB Admin (http://sources.redhat.com/rhdb/ ! ), TORA (http://www.globecom.net/tora/, ! parcialmente comercial) e o Rekall ( http://www.thekompany.com/products/rekall/, proprietária). Há também o PhpPgAdmin ( http://phppgadmin.sourceforge.net/ ), uma interface web para *************** *** 451,457 ****
Você não configurou a memória compartilhada corretamente no seu kernel ou você precisa aumentar a memória compartilhada disponível no seu kernel. A quantidade exata que você precisa vai depender da arquitetura e de quantos buffers e processos do servidor você configurou para o postmaster. Muitos sistemas, com o número padrão de buffers e processos, precisam de aproximadamente 1 MB. Veja o Guia do Administrador do PostgreSQL para mais informação sobre memória compartilhada e semáforos.
Você não configurou a memória compartilhada corretamente no seu kernel ou você precisa aumentar a memória compartilhada disponível no seu kernel. A quantidade exata que você precisa vai depender da arquitetura e de quantos buffers e processos do servidor você configurou para o postmaster. Muitos sistemas, com o número padrão de buffers e processos, precisam de aproximadamente 1 MB. Veja a seção PostgreSQL Administrator's Guide/Server Run-time Environment/Managing Kernel Resources para mais informação sobre memória compartilhada e semáforos.
Se você está fazendo muitos INSERTs, considere fazê-los em lote utilizando o comando COPY. Isso é mais rápido do que INSERTs individuais. Segundo, sentenças que não estão em um bloco de transação BEGIN WORK/COMMIT são consideradas com se estivessem em sua própria transação. Considere executar várias sentenças em um mesmo bloco de transação. Isso reduz a quantidade de transações. Também, considere remover e criar índices novamente quando estiver fazendo muitas mudanças nos dados.
!Há várias opções de ajuste. Você pode desabilitar o fsync() iniciando o postmaster com a opção -o -F. Isso irá impedir que fsync()s enviem os dados para disco após cada transação.
!Você também pode utilizar a opção -B do postmaster para aumentar o número de buffers de memória compartilhada utilizados pelos processos do servidor. Se você definiu este parâmetro com um valor muito alto, o postmaster pode não iniciar porque você excedeu o limite de espaço de memória compartilhada do kernel. Cada buffer é de 8K e o padrão é de 64 buffers.
!Você também pode utilizar a opção -S do backend para aumentar a máxima quantidade de memória utilizada pelo processo servidor para ordenações temporárias. O valor de -S é medido em kilobytes e o padrão é de 512 (ou seja 512K).
Você também pode utilizar o comando CLUSTER para agrupar dados em tabelas para combinar um índice. Veja o manual sobre CLUSTER para mais informação.
--- 474,484 ----Se você está fazendo muitos INSERTs, considere fazê-los em lote utilizando o comando COPY. Isso é mais rápido do que INSERTs individuais. Segundo, sentenças que não estão em um bloco de transação BEGIN WORK/COMMIT são consideradas com se estivessem em sua própria transação. Considere executar várias sentenças em um mesmo bloco de transação. Isso reduz a quantidade de transações. Também, considere remover e criar índices novamente quando estiver fazendo muitas mudanças nos dados.
!Há várias opções de ajuste em Administration Guide/Server Run-time Environment/Run-time Configuration. Você pode desabilitar o fsync() utilizando a opção fsync. Isso irá impedir que fsync()s enviem os dados para disco após cada transação.
!Você pode utilizar a opção shared_buffers para aumentar o número de buffers de memória compartilhada utilizados pelos processos do servidor. Se você definiu este parâmetro com um valor muito alto, o postmaster pode não iniciar porque você excedeu o limite de espaço de memória compartilhada do kernel. Cada buffer é de 8K e o padrão é de 1000 buffers.
!Você também pode utilizar a opção sort_mem (no PostgreSQL 8.0: work_mem) para aumentar a máxima quantidade de memória utilizada pelo processo servidor para cada ordenação temporária. O valor padrão é 1024 (ou seja 1MB).
Você também pode utilizar o comando CLUSTER para agrupar dados em tabelas para combinar um índice. Veja o manual sobre CLUSTER para mais informação.
*************** *** 496,502 ****Se o postmaster não está sendo executado, você pode executar o núcleo do postgres a partir da linha de comando, e digitar a sua sentença SQL diretamente. Isso é recomendado somente para fins de depuração. Note que uma nova linha termina a consulta, e não um ponto-e-vírgula. Se você compilou com símbolos de depuração, você pode utilizar um depurador para ver o que está acontecendo. Como o núcleo (backend) não foi iniciado a partir do postmaster, ele não está executando em um ambiente idêntico e problemas de iteração com o núcleo/travamento não podem ser reproduzidos.
!O programa postgres possue as opções -s, -A, e -t que podem ser muito úteis para depuração e medidas de performance.
Você também pode compilar com perfil para ver que funções estão demandando tempo de execução. Os arquivo de perfil do núcleo (backend) serão colocados no diretório pgsql/data/base/dbname. O arquivo de perfil do cliente será colocado no diretório atual do cliente. O Linux requer uma compilação com -DLINUX_PROFILE para criação dos perfis.
--- 499,507 ----Se o postmaster não está sendo executado, você pode executar o núcleo do postgres a partir da linha de comando, e digitar a sua sentença SQL diretamente. Isso é recomendado somente para fins de depuração. Note que uma nova linha termina a consulta, e não um ponto-e-vírgula. Se você compilou com símbolos de depuração, você pode utilizar um depurador para ver o que está acontecendo. Como o núcleo (backend) não foi iniciado a partir do postmaster, ele não está executando em um ambiente idêntico e problemas de iteração com o núcleo/travamento não podem ser reproduzidos.
!Se o postmaster está sendo executado, inicie o psql em uma janela, e então encontre o PID do processo postgres utilizado pelo psql utilizando
SELECT pg_backend_pid(). Utilize um depurador para anexar ao PID do postgres. Você pode definir pontos de parada (breakpoints) no depurador e digitar consultas no psql. Se você está depurando a inicialização do postgres, você pode definir PGOPTIONS="-W n" e então iniciar o psql. Isto retardará a inicialização por n segundos então você pode anexar o depurador ao processo, definir quaisquer pontos de parada e continuar pela sequência de inicialização. ! !
Há várias variáveis de configuração do servidor
log_*que habilitam a exibição de estatísticas que podem ser muito úteis para depuração e medidas de performance.
Você também pode compilar com perfil para ver que funções estão demandando tempo de execução. Os arquivo de perfil do núcleo (backend) serão colocados no diretório pgsql/data/base/dbname. O arquivo de perfil do cliente será colocado no diretório atual do cliente. O Linux requer uma compilação com -DLINUX_PROFILE para criação dos perfis.
*************** *** 629,635 ****Veja também o arquivo pgsql/src/tutorial/syscat.source. Ele ilustra muitos SELECTs necessários para obter informação das tabelas do sistema de banco de dados.
Veja também o arquivo pgsql/src/tutorial/syscat.source. Ele ilustra muitos SELECTs necessários para obter informação das tabelas do sistema de banco de dados.
Índices não são automaticamente utilizados por toda consulta. Índices só são utilizados se uma tabela é maior do que o tamanho mínimo e uma consulta seleciona somente uma porcentagem pequena de registros de uma tabela. Isto porque o acesso randômico ao disco causado por uma busca por índice pode ser *************** *** 678,684 **** ~* não utilizam índices. Ao invés, utilize índices funcionais, que são descritos na seção 4.12.
--- 684,694 ---- ~* não utilizam índices. Ao invés, utilize índices funcionais, que são descritos na seção 4.12.
text_pattern_opspara tais casos que funcionam somente para ! indexação utilizando
LIKE. !
*************** *** 797,811 **** novo_id = execute("SELECT currval('pessoa_id_seq')"); ! Finalmente, você poderia utilizar o OID retornado da sentença INSERT para obter o valor padrão, embora este seja a abordagem menos portável, pois o valor do oid não ultrapassa 4 bilhões. ! Em Perl, utilizando DBI com o módulo DBD::Pg de Edmund Mergl, o valor do oid está disponível via $sth->{pg_oid_status} depois de ! $sth->execute(). !
Não. currval() retorna o valor atual atribuido pelo seu núcleo (backend), e não por todos os usuários.
--- 807,821 ---- novo_id = execute("SELECT currval('pessoa_id_seq')"); !Finalmente, você poderia utilizar o OID retornado da sentença INSERT para obter o valor padrão, embora este seja a abordagem menos portável, pois o valor do oid não ultrapassa 4 bilhões. ! Em Perl, utilizando DBI com o módulo DBD::Pg, o valor do oid está disponível via $sth->{pg_oid_status} depois de ! $sth->execute().
!Não. currval() retorna o valor atual atribuido pelo seu núcleo (backend), e não por todos os usuários.