For the real functions which I use, instead of
query = ''SELECT * FROM usno'';
I have
query = my_C_function(some_args);
Oh? I'd make a small side bet that the underlying error is in your C function --- possibly it's tromping on some data structure and the damage doesn't have an effect till later. If you can demonstrate the problem without using any custom C functions then I'd be interested to see a test case.
I want to clarify, that I have a problem even without my C functions!!
And show the full exact(but long) test case, which I performed just now specially.
I begin from table usno with 500 millions records
wsdb=# \d usno
Table "public.usno"
Column | Type | Modifiers --------+--------+-----------
ra | real | dec | real | bmag | real | rmag | real | ipix | bigint | errbox | box | Indexes:
"box_ind" rtree (errbox)
"ipix_ind" btree (ipix)
"radec_ind" btree (ra, "dec")
This is just a shot in the dark, but I don't suppose you've dropped or modified any columns in "usno" have you?
I seem to remember some subtle problems with dropped columns and plpgsql functions - could be one of those still left. It'd look like tablesize was the problem because of course no-one's got time to test with 500 million test rows.
--
Richard Huxton
Archonet Ltd
---------------------------(end of broadcast)--------------------------- TIP 7: don't forget to increase your free space map settings