Pegar ultimo registro postgreSQL [RESOLVIDO]

Buenas galera!

To com mais um probleminha aqui, preciso pegar o último registro de um tabela do meu SGBD postgre, eu vi exemplos na web do tipo: SELECT campo FROM tabela ORDER BY id DESC, mas ao longo da implementação notei que as vezes os registros alteram suas posições quando são atualizados (UPDATE), eu estava usando o LIMIT nro OFFSET nro até então mas como vou descobrir qual é o OFFSET correto para este caso?

Vlw pela ajuda mais uma vez!

O velho SELECT MAX(ID) FROM SUA_TABELA não funciona nesse caso pra vc?

Pq vc sempre terá o ultimo id inserido nesse caso.

Bah, faz sentido vou tentar esse MAX(ID)

vlw romarcio

Funcionará com o MAX… mas se quiser e outra forma…

SELECT id FROM TABLE ORDER BY id DESC LIMIT 1

Se nao funcionar, invés do LIMIT tenta usar o TOP, da no mesmo

Vlw!

[quote=guisantogui]Bah, faz sentido vou tentar esse MAX(ID)

vlw romarcio[/quote]

Com certeza funciona, o select que postei antes, só retornara o ultimo id da tabela.

Caso vc precise do de toda a linha do ultimo id, faz assim:

SELECT * FROM TABELA WHERE ID_TABELA = (SELECT MAX(ID_TABELA) FROM TABELA)

No meu caso, estou testando um banco com mais de 150 mihões de registros. Utilizei opção ORDER BY… DESCEN LIMIT 1 o demorou demais para me dar o resultado.
Neste banco não tenho ID serial (de propósito).
Desejo pegar o último registro lançado para ver o que foi lançado. Vcs sabem de alguma solução mais rápida?

“Demorou de mais”, quanto de mais?
Levando em conta 150 milhões de registros alguns segundos de delay são aceitaveis eu acho!