Primary key column numbers...

Поиск
Список
Период
Сортировка
От Justin Tocci
Тема Primary key column numbers...
Дата
Msg-id 1E819014-574D-4D91-837D-56B71A274486@tocci.org
обсуждение исходный текст
Ответы Re: Primary key column numbers...  (Tom Lane <tgl@sss.pgh.pa.us>)
Список 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 по дате отправления:

Предыдущее
От: "Marc G. Fournier"
Дата:
Сообщение: Major flood of mail to lists ...
Следующее
От: Alexandre Lollini
Дата:
Сообщение: Re: Connecting to Postgres from LAN