powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Как из системных таблиц узнать тип поля
5 сообщений из 5, страница 1 из 1
Как из системных таблиц узнать тип поля
    #32550518
Драга
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нужно получить следующие данные:
имя_таблицы, имя_колонки, тип_колонки

все это из системных таблиц...
С таблицами и колонками разобрался, а вот тип поля нигде не могу найти.

Может кто сталкивался?
...
Рейтинг: 0 / 0
Как из системных таблиц узнать тип поля
    #32550548
Драга
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Все. разобрался )

кому-интересно:

select a.relname,b.attname,c.typname
from pg_class AS a
left join pg_attribute AS b ON (b.attrelid=a.oid and b.attstattarget=-1)
left join pg_type AS c ON (b.atttypid=c.oid)
WHERE (a.relkind = 'r' OR a.relkind = 's')
and text(pg_get_userbyid(a.relowner))=text(db_owner)
ORDER BY 1,b.attnum
...
Рейтинг: 0 / 0
Как из системных таблиц узнать тип поля
    #32550709
Фотография Niemi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всё отлично, тока вроде подправить нужно:

Код: plaintext
1.
2.
3.
4.
5.
6.
select a.relname,b.attname,c.typname
from pg_class AS a
left join pg_attribute AS b ON (b.attrelid=a.oid and b.attstattarget=- 1 )
left join pg_type AS c ON (b.atttypid=c.oid)
WHERE (a.relkind = 'r' OR a.relkind = 's') 
and text(pg_get_userbyid(a.relowner))=text('db_owner') 
ORDER BY  1 ,b.attnum
...
Рейтинг: 0 / 0
Как из системных таблиц узнать тип поля
    #32550714
Фотография Niemi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всё отлично, тока вроде подправить нужно:

Код: plaintext
1.
2.
3.
4.
5.
6.
select a.relname,b.attname,c.typname
from pg_class AS a
left join pg_attribute AS b ON (b.attrelid=a.oid and b.attstattarget=- 1 )
left join pg_type AS c ON (b.atttypid=c.oid)
WHERE (a.relkind = 'r' OR a.relkind = 's') 
and text(pg_get_userbyid(a.relowner))=text('db_owner') 
ORDER BY  1 ,b.attnum
...
Рейтинг: 0 / 0
Как из системных таблиц узнать тип поля
    #32551171
Hordi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Также как вариант рекомендую смотреть исходники psql, - там все достаточно просто найти.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Как из системных таблиц узнать тип поля
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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