Как получить список полей в таблице?

  • Автор темы CrazyHacKeRs
  • Дата начала

CrazyHacKeRs

Guest
Как получить список полей в таблице?

Подскажите пожалуйста запрос выводящий список полей из таблицы?

Делаю:
PHP:
SELECT  a.attname AS field   FROM 	pg_class c, pg_attribute a, pg_type t 
WHERE c.relname = $1 and a.attnum > 0 and a.attrelid = c.oid and a.atttypid = t.oid 
ORDER BY a.attnum;
В результате чего, в выборку попадают строчки вида pg.dropped.48-36(разные цифры) итд


Как бороться, и может есть способ легче узнать ЭТО....


Спасибо.
 

Sad Spirit

мизантроп (Старожил PHPClub)
Команда форума
проверяй атрибут attisdropped, он будет true у "строчек вида pg.dropped.48-36(разные цифры) итд"
 

CrazyHacKeRs

Guest
А что это за droped - как они появляются и как их вычищать (и стоит ли)?
 

CrazyHacKeRs

Guest
А что необходимо добавить к этому запросу чтоб еще вывести тип поля? (varchar, int, text и тд )
 

Sad Spirit

мизантроп (Старожил PHPClub)
Команда форума
Стандартный ответ: запускаешь psql с ключом -E и смотришь, какие запросы выполняют команды \d*

В FAQ его что ли добавить?..
 

sergei75

Guest
SELECT a.attname AS field FROM pg_class c, pg_attribute a, pg_type t
а что это за "a,c,t" ?

Стандартный ответ: запускаешь psql с ключом -E и смотришь, какие запросы выполняют команды \d*
и еще перелопатил весь форум! И везде указывают на эти непонятные команды. Фишка в том, что у меня нет на компе Постгрии и не могу я запускать эти фишки:(
Нет ли какого-то универсального запроса? Не сочтите, что я ленивый тип итд Весь гугл переворотил и там нет ничего похожего или я просто не нашел. Неужели, если у меня удаленный доступ к Постгрее, то дело мое совсем плохо?

Спасибо.
 

Sad Spirit

мизантроп (Старожил PHPClub)
Команда форума
Для "этих фишек" на компе тебе нужен не сервер, а клиент psql

Есть универсальный запрос:
Код:
DROP DATABASE databasename;
Читать "весь гугл" не надо, изучай раздел "System Catalogs" в документации, а если используешь версию 7.4, то раздел "The Information Schema", вот там как раз запросы "универсальные", т.к. схема реализована по стандарту SQL.
 

sergei75

Guest
какой же ужас эта ваша The Information Schema:)
погляжу мож чего наковыряю:)

Спасиба за помощь
 
Сверху