Primary key column numbers...
От | Justin Tocci |
---|---|
Тема | Primary key column numbers... |
Дата | |
Msg-id | 1E819014-574D-4D91-837D-56B71A274486@tocci.org обсуждение исходный текст |
Ответы |
Re: Primary key column numbers...
|
Список | pgsql-general |
What I'm trying to do is IF the relation given is a TABLE, give the primary key column numbers. IF the relation is a VIEW, just give an array with a '1' in it. ELSE NULL. Later I'll put in some hocus-pocus to be more intelligent about VIEWs but right now this would do me fine. I've read the docs on arrays and such, I just can't seem to put together nor cast an array that's compatible with int2vector. There was some notice to look at contrib/array but that has been removed in version 8, which is what I'm using. This is what I have so far. SELECT indkey FROM (SELECT relname, indkey FROM pg_catalog.pg_index join pg_catalog.pg_class ON pg_index.indrelid = pg_class.oid WHERE indisprimary=true UNION SELECT viewname, ('{1}')::int2vector[] as indkey FROM pg_catalog.pg_views ) t WHERE relname = '????' Result: ERROR: UNION/INTERSECT/EXCEPT could not convert type int2vector[] to int2vector Any help here would be appreciated. justin tocci fort worth, tx
В списке pgsql-general по дате отправления: