Thread: information_schema.columns.column_default filtered based on user

information_schema.columns.column_default filtered based on user

From
"George Pavlov"
Date:
Looking at the information_schema.columns view I have been wondering why
it only shows the column_default for columns in tables owned by the
current user? Makes things a bit misleading. I am thinking at least
superusers should be able to see that?

This is what I am talking about:

CREATE OR REPLACE VIEW information_schema.columns AS
 SELECT current_database()::information_schema.sql_identifier AS
table_catalog,
<snip>
        CASE
            WHEN u.usename = "current_user"() THEN ad.adsrc
            ELSE NULL::text
        END::information_schema.character_data AS column_default,
<snip>

George

Re: information_schema.columns.column_default filtered based on user

From
Tom Lane
Date:
"George Pavlov" <gpavlov@mynewplace.com> writes:
> Looking at the information_schema.columns view I have been wondering why
> it only shows the column_default for columns in tables owned by the
> current user?

Because that's what the SQL99 spec says it should do.

The SQL2003 spec seems to have a looser definition, but we haven't
gotten around to trying to make information_schema follow SQL2003
instead of SQL99 ...

            regards, tom lane