LIMIT ALL == LIMIT NULL
Link: http://people.planetpostgresql.org/gevik/index.php?/archives/51-LIMIT-ALL-LIMIT-NULL.html
Essa dica foi publicada há um tempo atrás no Planet PostgreSQL.
Digamos que você tenha uma função PL/PgSQL que use LIMIT e OFFSET, com parâmetros inteiros. O LIMIT ALL é o equivalente a sem LIMIT. Mas como passar esse parâmetro se a função requer um inteiro? Simples: passe NULL.
Encontrando furos em sequências no PostgreSQL
Dica rápida: você precisa encontrar, num tabela com o tipo serial, quais os que estão faltando na sequência (o que poderia indicar alguma transação que sofreu rollback ou alguma tupla que foi deletada). No PostgreSQL, cabe tudo numa query só:
SELECT * FROM generate_series(1,(SELECT max(id_campo_serial) FROM tabela)) AS i WHERE i NOT IN
(SELECT id_campo_serial FROM tabela)
Outra forma possível, agora chamando a sequência pelo nome:
SELECT id
FROM generate_series(1, (SELECT last_value FROM id_seq)) AS s(id)
EXCEPT
SELECT id_campo_serial FROM tabela
É isso!
SQL Magazine 41 - Comprem

Um momento jabá: Saiu a SQL Magazine nº 41, com um artigo sobre PostgreSQL escrito a quatro mãos com o Fike! O artigo trata do PostgreSQL 8.2 (e já estamos praticamente às portas do 8.3!) e está muuuuuuuuito legal.
Comprem!
Por falar em 41, vou colocar aqui um vídeo do Carter Beauford, da Dave Matthews Band tocando a música #41 numa vídeo aula. O cara é um ótimo baterista, e essa música é muito bonita.
Não se esqueçam desse número: 41!
De olho no PostgreSQL 8.3
O PostgreSQL 8.2 saiu em dezembro, e os desenvolvedores do PostgreSQL já trabalham duro para lançar a versão 8.3.
Algumas novidades discutidas na lista pgsql-hackers:
Linguagem SQL/PSM
http://postgresql.interweb.cz/index.php/SQL/PSM
Segundo o wiki do desenvolvedor, Pavel Stehule, a linguagem SQL/PSM é uma "linguagem mística, sem nenhuma informação, cujo paraíso é a Suécia". Falando mais a sério, ele é uma linguagem pra desenvolvimento de Stored Procedures e Triggers, suportada no DB2 e no MySQL a partir da versão 5.0. Para a versão 8.3, ela estará disponível no PostgreSQL, provavelmente como uma extensão do contrib.
Identity
A forma padrão do SQL de gerar colunas de auto-incremento é usando o IDENTITY. Segundo uma comparação de bancos de dados com o padrão SQL em http://troels.arvin.dk/db/rdbms/#mix-identity, apenas o DB2 segue o padrão, embora com algumas restrições. Os patches são de Zoltan Boszormenyi.
Índices Bitmap
Outra novidade que era pra estar pronta no 8.2, mas acabou atrasando: indíces bitmap. São índices especiais, usados para colunas de baixa cardinalidade, onde índices BTREE não são muito úteis. Até a versão atual, o PostgreSQL pode combinar um ou mais indíces e transformá-los em bitmap em memória, antes da execução da consulta. Para o 8.3, é esperado que seja possível criar o indíce bitmap diretamente no disco. Para mais informações sobre índices bitmap, veja http://files.meetup.com/230033/BitmapIndexPerformance-Bizgres-0.9.pdf
Tsearch no core.
Até agora, índices fulltext no postgres estão disponíveis via contrib (até esse nome foi discutido recentemente). Para o 8.3, uma grande discussão é sobre a inclusão de índices fulltext no core. Aparentemente, está tudo certo pra isso!
Notícia rápida: PL/Python compatível com Python 2.5 
Ficam de fora 
UPSERT (http://archives.postgresql.org/pgsql-hackers/2007-03/msg00114.php). Aquela característica legal do MySQL (REPLACE INTO ou o ON DUPLICATE KEY UPDATE). Houve até alguma discussão, mas nenhum consenso.
Views atualizáveis (postergadas para o 8.4)
Existem ainda muito mais sendo discutido. É esperar para ver!
