powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / определить id для таблицы в схеме не public
7 сообщений из 7, страница 1 из 1
определить id для таблицы в схеме не public
    #35587078
PythonWin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет!
помогите, пожалуйста, определить primary key в таблице postgres 8.x если у меня таблица находится в моей схеме (не public)
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
CREATE TABLE boo.author
(
  id serial NOT NULL,
  "login" varchar( 8 ) NOT NULL,
  "password" varchar( 40 ) NOT NULL,
  name varchar( 30 ) NOT NULL,
  CONSTRAINT author_pkey PRIMARY KEY (id)
) 
WITHOUT OIDS;
ALTER TABLE boo.author OWNER TO postgres;
код которым определяю primary key, но который не ищет в таблице "boo.autor", а в только в просто 'autor', а таких таблиц может быть много - в каждой схеме
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
        SELECT pg_index.indisprimary,
            pg_catalog.pg_get_indexdef(pg_index.indexrelid)
        FROM pg_catalog.pg_class c, pg_catalog.pg_class c2,
            pg_catalog.pg_index AS pg_index
        WHERE c.relname = 'boo.author'
            AND c.oid = pg_index.indrelid
            AND pg_index.indexrelid = c2.oid
            AND pg_index.indisprimary
...
Рейтинг: 0 / 0
определить id для таблицы в схеме не public
    #35587082
PythonWin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
о своей схеме http://www.postgresql.org/docs/8.0/static/ddl-schemas.html
...
Рейтинг: 0 / 0
определить id для таблицы в схеме не public
    #35587103
PythonWin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
пока сделал так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
SELECT 
pg_index.indisprimary,
pg_indexes.indexdef,
pg_indexes.schemaname
FROM pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_index AS pg_index, pg_indexes
WHERE c.relname = 'author'
AND c.oid = pg_index.indrelid
AND pg_index.indexrelid = c2.oid
AND pg_index.indisprimary
AND pg_indexes.tablename = 'author'
AND pg_indexes.schemaname = 'boo'
AND pg_catalog.pg_get_indexdef(pg_index.indexrelid) = pg_indexes.indexdef;
но варианты принимаются
...
Рейтинг: 0 / 0
определить id для таблицы в схеме не public
    #35587224
LeXa NalBat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
добавьте таблицу pg_namespace

... from pg_class join pg_namespace on (pg_class.relnamespace=pg_namespace.oid) where pg_class.relname='author' and pg_namespace.nspname='boo' ...
...
Рейтинг: 0 / 0
определить id для таблицы в схеме не public
    #35587668
PythonWin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
спасибо - попробую
...
Рейтинг: 0 / 0
определить id для таблицы в схеме не public
    #35587989
Kruchinin Pahan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PythonWinспасибо - попробую
Код: plaintext
1.
2.
3.
select pg_get_indexdef(pg_index.indexrelid)
from pg_index 
where pg_index.indrelid = 'boo.author'::regclass and indisprimary
...
Рейтинг: 0 / 0
определить id для таблицы в схеме не public
    #35588525
PythonWin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
спасибо +1
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / определить id для таблицы в схеме не public
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]