Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Внешние ключи в information_schema
|
|||
|---|---|---|---|
|
#18+
В общем в одном приложении мне нужно получать внешние ключи в базе. Этот момент у меня реализован в виде в виде жосткого порно, с диким запросом и разбором результата через регэкспы. И тут я узнаю что есть такая вещь как information_schema, которая во первых реализует стандарт, а во вторых данные там в более удобоваримом виде. Прочитал доки: http://www.postgresql.org/docs/current/interactive/information-schema.html http://www.postgresql.org/docs/current/interactive/infoschema-referential-constraints.html Проверил, запрос Код: plaintext Действительно работает. То есть выводит все внешние ключи. Но при этом выводит так что непонятно, какое поле из какой таблицы на что ссылается. Можно как нибудь используя information_schema получить всю информацию о внешних ключах? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2009, 04:47 |
|
||
|
Внешние ключи в information_schema
|
|||
|---|---|---|---|
|
#18+
ShadyAngel, тебе поможет \d information_schema.referential_constraints ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2009, 09:36 |
|
||
|
Внешние ключи в information_schema
|
|||
|---|---|---|---|
|
#18+
ShadyAngel Можно как нибудь используя information_schema получить всю информацию о внешних ключах?наверное можно: например получив тексты вьюшек этой схемы собрать свою. так например читая вьюшку Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. можно заметить, что все что требуется лежит в табличке pg_constraint, по условию contype = 'f', причем, если взглянуть в саму pg_constraint, заметим, что мастер табличку надо искать через поле confrelid, в табличке pg_class, а подчиненную - через conrelid. как прикрутить еще одну pg_attribute для получения имени головных столбцов - видимо как в пример выше (см) через поля- массивы confkey/conkey Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2009, 11:32 |
|
||
|
Внешние ключи в information_schema
|
|||
|---|---|---|---|
|
#18+
Ну, на самом деле я немного преувеличил, запрос у меня используется такой: Код: plaintext 1. Основная проблема что он выдает не таблицу, а строки, в которых все данные есть, но их приходится выкусывать регэкспом. Я думал что этот момент можно как то упростить и стандартизировать, но видимо лучше не связываться, всё равно проще не получится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2009, 03:22 |
|
||
|
|

start [/forum/topic.php?fid=53&fpage=254&tid=2003735]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
59ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
36ms |
get tp. blocked users: |
1ms |
| others: | 240ms |
| total: | 378ms |

| 0 / 0 |
