Re: Changing pg_type records

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: "Rob Richardson" <Rob(dot)Richardson(at)rad-con(dot)com>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: Changing pg_type records
Date: 2009-03-19 20:00:19
Message-ID: 1068.1237492819@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

"Rob Richardson" <Rob(dot)Richardson(at)rad-con(dot)com> writes:
> I just discovered the existence of a couple of functions I don't
> understand in one customer's PostgreSQL database:

What do the substitute output functions do differently?

> UPDATE pg_type SET typoutput='c_textout' WHERE typname='SET';

This one has been a no-op since 7.4, because there is no longer any such
row in pg_type; and I'm pretty sure the row was vestigial long before that.
If the underlying code is old enough that it was designed when changing
that row did something interesting, it certainly all needs a fresh look
anyway...

> Are these functions really as innocuous as he claims? It seems to me
> that between the time c_mode() is called and the time that pg_mode() is
> called, any other database access is likely to be confused.

Yes, you definitely are taking big risks there. Aside from the question
of how data appears to the client, this could bollix the behavior of
most PL languages too.

regards, tom lane

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message ray 2009-03-19 20:28:40 Re: Installation Error, Server Won't Start
Previous Message ray 2009-03-19 19:23:41 Re: Installation Error, Server Won't Start