ORACLE には ROWNUM という擬似列があって 結果セットに番号を振って取得することができます。 (ORDER BY に影響を受けるので順番に番号が付かないこともありますが)
PostgreSQL ではウィンドウ関数(window function)を使うと 同じようなことができます。
次のような感じです。
db=# SELECT (ROW_NUMBER() OVER()) AS rownum, f1 FROM table1; rownum | f1 --------+---- 1 | A 2 | B 3 | C 4 | D 5 | E (5 rows)
ちなみにウィンドウ関数は 標準SQL に規定されているもので PostgreSQL のみにある考え方ではありません。