"Thomas T. Thai" <tom(at)minnesota(dot)com> writes:
> 'select * from url' from psql monitor took 59 seconds.
How big is the table? Your EXPLAIN mentions 99256 rows, but I can't
tell if that stat is up-to-date or not.
A select like that is going to be pretty much all data transfer: read
the disk blocks, format the data values, send 'em to the frontend.
There's hardly anything that Postgres can do to optimize or pessimize
it. You might shave a few milliseconds by using a binary cursor (to
avoid formatting the integer values into ASCII) but probably not a lot.
If you've done a whole lot of UPDATEs/DELETEs on the table since your
last VACUUM, then reading empty disk blocks might be costing you some
time.
regards, tom lane