Soni <diptatapa@xxxxxxxxx> writes: > Here it is: > select * from pg_language; > lanname | lanowner | lanispl | lanpltrusted | lanplcallfoid | > laninline | lanvalidator | lanacl > ----------+----------+---------+--------------+---------------+-----------+--------------+-------- > internal | 10 | f | f | 0 | > 0 | 2246 | > sql | 10 | f | t | 0 | > 0 | 2248 | > plpgsql | 10 | t | t | 13793 | > 13794 | 13795 | > c | 10 | f | f | 0 | > 0 | 1 | > (4 rows) Hm. That doesn't look like data corruption: that looks like somebody actually did update pg_language set lanvalidator = 1 where lanname = 'c'; or something equivalent to that. Needless to say, that was not a good idea. You said you reinstalled the postgres executables, but did you re-initdb? Or even just re-create the current database? I'm wondering if it's like that in every database of your cluster. It'd be possible to fix this particular database by setting lanvalidator back to its correct value (2247) but it'd be wise to first inquire as to how it got like this. regards, tom lane