<H1>Perguntas Frequentes (FAQ) sobre PostgreSQL</H1>
<P>Última atualização: Qui Set 27 02:14:24 EDT 2007</P>
<P>Última atualização: Sex Nov 16 10:53:50 EST 2007</P>
<P>Mantenedor atual: Bruce Momjian (<Ahref=
"mailto:bruce@momjian.us">bruce@momjian.us</A>)
...
...
@@ -30,7 +30,8 @@
<HR>
<H2align="center">Perguntas Gerais</H2>
<Ahref="#item1.1">1.1</A>) O que é PostgreSQL? Como ele é pronunciado?<BR>
<Ahref="#item1.1">1.1</A>) O que é PostgreSQL? Como ele é pronunciado?
O que é Postgres?<BR>
<Ahref="#item1.2">1.2</A>) Quem controla o PostgreSQL?<BR>
<Ahref="#item1.3">1.3</A>) Qual é a licença do PostgreSQL?<BR>
<Ahref="#item1.4">1.4</A>) Quais plataformas o PostgreSQL pode ser executado?<BR>
...
...
@@ -96,9 +97,9 @@
<H2align="center">Perguntas Gerais</H2>
<H3id="item1.1">1.1) O que é PostgreSQL? Como ele é pronunciado?</H3>
<H3id="item1.1">1.1) O que é PostgreSQL? Como ele é pronunciado? O que é Postgres?</H3>
<P>PostgreSQL é pronunciado <I>Post-Gres-Q-L</I>, mas também pode ser referido apenas como <I>Postgres</I> principalmente em conversações.
Há também uma coleção de artigos técnicos sbore PostgreSQL em <Ahref="http://techdocs.postgresql.org/">http://techdocs.postgresql.org/</A>.</P>
Há também uma coleção de artigos técnicos sbore PostgreSQL em <Ahref="http://www.postgresql.org/docs/techdocs/">http://www.postgresql.org/docs/techdocs/</A>.</P>
<P>O programa cliente de linha de comando <I>psql</I> tem alguns comandos \d para
mostrar informações sobre tipos, operadores, funções, agregações, etc. - utilize \?
...
...
@@ -302,9 +307,7 @@
<H3id="item1.11">1.11) Como eu posso aprender <SMALL>SQL</SMALL>?</H3>
<P>Primeiro, considere os livros específicos sobre PostgreSQL mencionados
acima. Outro é o "Teach Yourself SQL in 21 Days, Second Edition" e <Ahref=
INSERT INTO pessoa (nome) VALUES ('Blaise Pascal') RETURNING id;
</PRE>
Você também pode chamar <I>nextval()</I> e utilizar o valor no
<SMALL>INSERT</SMALL> ou chamar <I>currval()</I><I>após</I> o
<SMALL>INSERT</SMALL>.
<H3id="item4.11.3">4.11.3) <I>currval()</I> não lida com condição de corrida com outros usuários?</H3>
<P>Não. <I>currval()</I> retorna o valor atual atribuido pela sua sessão, e não por todas as sessões.</P>
...
...
@@ -840,7 +833,7 @@ comprimento</TD></TR>
<H3id="item4.13">4.13) Por que eu recebo o erro <I>"ERROR: Memory exhausted in AllocSetAlloc()"</I>?</H3>
<P>Você provavelmente está sem memória virtual no seu sistema, ou o seu núcleo (kernel) tem um limite baixo para certos recursos. Tente isto antes de iniciar o <I>postmaster</I>:</P>
<P>Você provavelmente está sem memória virtual no seu sistema, ou o seu núcleo (kernel) tem um limite baixo para certos recursos. Tente isto antes de iniciar o servidor PostgreSQL:</P>
<PRE>
ulimit -d 262144
limit datasize 256m
...
...
@@ -904,7 +897,9 @@ comprimento</TD></TR>
<H3id="item4.19">4.19) Por que eu obtenho erros "relation with OID ######
does not exist" ao acessar tabelas temporárias em funções PL/PgSQL?</H3>
<P>PL/PgSQL armazena o conteúdo da função, e o efeito indesejado é que se uma função PL/PgSQL acessa uma tabela temporária, e aquela tabela é removida e criada novamente, e a função é chamada novamente, a função irá falhar porque o conteúdo armazenado da função ainda apontará para a tabela temporária antiga. A solução é utilizar o <SMALL>EXECUTE</SMALL> para acesso a tabelas temporárias no PL/PgSQL. Isto irá fazer com que a consulta seja avaliada toda vez.</P>
<P>Em versões do PostgreSQL < 8.3, PL/PgSQL armazena o conteúdo da função, e o efeito indesejado é que se uma função PL/PgSQL acessa uma tabela temporária, e aquela tabela é removida e criada novamente, e a função é chamada novamente, a função irá falhar porque o conteúdo armazenado da função ainda apontará para a tabela temporária antiga. A solução é utilizar o <SMALL>EXECUTE</SMALL> para acesso a tabelas temporárias no PL/PgSQL. Isto irá fazer com que a consulta seja avaliada toda vez.</P>
<P>Este problema não ocorre no PostgreSQL 8.3 ou superior.</P>
<H3id="item4.20">4.20) Quais soluções de replicação estão disponíveis?</H3>
...
...
@@ -914,7 +909,7 @@ comprimento</TD></TR>
<P>Replicação mestre/escravo permite que um mestre receba consultas de leitura e
escrita, enquanto os escravos só podem aceitar leitura/consultas <SMALL>SELECT</SMALL>.
A solução mais popular de replicação mestre-escravo para PostgreSQL disponível livremente