Soni <diptat...@gmail.com> 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


Reply via email to