Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
аналог MySQL-евого "SHOW CREATE TABLE <name>" ???
|
|||
|---|---|---|---|
|
#18+
Хелло АЛЛ! Мож кто знает как вытянуть DDL, или что-то на подобии для таблицы PostrgreSQL? вижу с этим проблемы... Подсказали что нада рыть гдето в системных каталогах, но я с постгрес еще на "ВЫ", так что буду благодарен за конструктивную помощь! Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2005, 17:29 |
|
||
|
аналог MySQL-евого "SHOW CREATE TABLE <name>" ???
|
|||
|---|---|---|---|
|
#18+
Могу лишь подсказать в каком направлении рыть :) Ставишь pgAdmin. Настраиваешь его, чтобы он вел лог своих запросов "Файл -> Опции ->" Закладка "Ведение лога", там вбиваешь имя файла и ставишь уровень ведения лога в отладку. Заходишь через него в бд, встаешь курсором на таблицу. pgAdmin показывает тебе ddl таблицы. Нажимаешь F5, чтобы он обновил данные о ней. Потом смотришь в лог проги и вникаешь что к чему, отчего и почему :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2005, 17:37 |
|
||
|
аналог MySQL-евого "SHOW CREATE TABLE <name>" ???
|
|||
|---|---|---|---|
|
#18+
ман Chapter 41. System Catalogs не увлекайся, а то как сказал один админ Гнать программеров из системных каталогов!! Сегодня они читают отуда а завтра писать захотят :-E :-)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2005, 18:17 |
|
||
|
аналог MySQL-евого "SHOW CREATE TABLE <name>" ???
|
|||
|---|---|---|---|
|
#18+
vfabrман Chapter 41. System Catalogs не увлекайся, а то как сказал один админ Гнать программеров из системных каталогов!! Сегодня они читают отуда а завтра писать захотят :-E :-)) Бывало... правда, всё обходилось... :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2005, 18:20 |
|
||
|
аналог MySQL-евого "SHOW CREATE TABLE <name>" ???
|
|||
|---|---|---|---|
|
#18+
А смысл извращаться с системными каталогами, если есть pg_dump, pgAdmin ? Разве что нет возможности его запустить , например, нет прав на удаленном сервере :) . (Раз такое таки пришлось сооружать - мрак!) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2005, 18:33 |
|
||
|
аналог MySQL-евого "SHOW CREATE TABLE <name>" ???
|
|||
|---|---|---|---|
|
#18+
XMА смысл извращаться с системными каталогами, если есть pg_dump, pgAdmin ? Разве что нет возможности его запустить , например, нет прав на удаленном сервере :) . (Раз такое таки пришлось сооружать - мрак!) Хороший скриптик :) Сам писал али где-то ещё подобные скрипты выложены? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2005, 18:38 |
|
||
|
аналог MySQL-евого "SHOW CREATE TABLE <name>" ???
|
|||
|---|---|---|---|
|
#18+
сам писал - выдирая куски из pg_dump.c ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2005, 18:40 |
|
||
|
аналог MySQL-евого "SHOW CREATE TABLE <name>" ???
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. а что такое pg_attribute по вашему?? это и есть таблица в системной схеме pg_catalog. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2005, 19:04 |
|
||
|
аналог MySQL-евого "SHOW CREATE TABLE <name>" ???
|
|||
|---|---|---|---|
|
#18+
по хорошему надо не к системным таблицам доступ давать, а к системным вьюхам ... только учтите что база ими (системными штуками) тоже активно пользуется и программеры своими запросам создают конкуренцию базе ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2005, 19:06 |
|
||
|
аналог MySQL-евого "SHOW CREATE TABLE <name>" ???
|
|||
|---|---|---|---|
|
#18+
vfabrпо хорошему надо не к системным таблицам доступ давать, а к системным вьюхам ... только учтите что база ими (системными штуками) тоже активно пользуется и программеры своими запросам создают конкуренцию базе ... А какая разница между прямым запросом к системным таблицам и косвенным? Когда одновременно больше 50 активных подключений (и даже если не брать их), то базе, по-моему, должно быть глубоко параллельно :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2005, 19:14 |
|
||
|
аналог MySQL-евого "SHOW CREATE TABLE <name>" ???
|
|||
|---|---|---|---|
|
#18+
во вьюхи писать нельзя :-) если у тебя 10 девелоперов разного уровня и квалификации и боевая база?? ну ка дай им доступ ... мальчик какой нить молодой как поработает ;-)) вообщем меньше свободы и все будет гуд! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2005, 19:21 |
|
||
|
аналог MySQL-евого "SHOW CREATE TABLE <name>" ???
|
|||
|---|---|---|---|
|
#18+
vfabrво вьюхи писать нельзя :-) если у тебя 10 девелоперов разного уровня и квалификации и боевая база?? ну ка дай им доступ ... мальчик какой нить молодой как поработает ;-)) вообщем меньше свободы и все будет гуд! Любимое развление девелоперов - тестить нововведения и что-то изменять на живой базе :-) Адреналина, небось, не хватает по жизни :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2005, 19:29 |
|
||
|
аналог MySQL-евого "SHOW CREATE TABLE <name>" ???
|
|||
|---|---|---|---|
|
#18+
А если немного упростить задачу до: 1. получить список полей таблицы(название, тип, значение по умолчанию, нулл) 2. получить список первичных ключей(поле) 3. получить список внешних ключей(поле, ссылка) Я копал с помощью $psql -E -U <dbuser> <database> =>\d+ <tableName> пункт 1, 2 решил таким образом, а вот с 3-м - проблемы: не знаю как... Есть идеи? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2005, 11:49 |
|
||
|
аналог MySQL-евого "SHOW CREATE TABLE <name>" ???
|
|||
|---|---|---|---|
|
#18+
во вьюхи писать нельзя :-)но, можно имитировать запись во вьюху через rule ... instesd и вызывать ХП с нужными правами ;)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2005, 17:05 |
|
||
|
аналог MySQL-евого "SHOW CREATE TABLE <name>" ???
|
|||
|---|---|---|---|
|
#18+
URIX во вьюхи писать нельзя :-)но, можно имитировать запись во вьюху через rule ... instesd и вызывать ХП с нужными правами ;)) Можно-то можно, да кто им (молодым девелоперам) разрешит. Права писать в системные таблицы/вьюхи, то есть суперюзерских прав, у простых девелоперов быть не должно. vfabr только учтите что база ими (системными штуками) тоже активно пользуется и программеры своими запросам создают конкуренцию базе . Чтение из системных таблиц происходит постоянно, при любом запросе (иначе зачем они нужны?) mrix 3. получить список внешних ключей(поле, ссылка) Этот велосипед уже изобретен, называется INFORMATION_SCHEMA. К этой схеме (в отличие от системных таблиц) можно и нужно обращаться. Правда если нужна информация по специфичным для Постгреса штукам, то от обращения к системным таблицам не уйти. И в этом случае, чтобы избавиться от переписывания запросов на клиенте, лучше (имхо) создать по образцу INFORMATION_SCHEMA свои вьюхи с нужными полями. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2005, 03:28 |
|
||
|
аналог MySQL-евого "SHOW CREATE TABLE <name>" ???
|
|||
|---|---|---|---|
|
#18+
Господа, если разговор пошёл о скриптах mrix $psql -E -U <dbuser> <database> =>\d+ <tableName> , то не проще ли уж тогда взять Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2005, 12:08 |
|
||
|
аналог MySQL-евого "SHOW CREATE TABLE <name>" ???
|
|||
|---|---|---|---|
|
#18+
mwolf и не парить верхнюю часть туловища? Не катит! так как эта информация нужна динамично. Тоесть нада получить скл, который это-же выполнит! Кстати: мой способ - полностью рабочий - показывает все что надо! Вопрос закрыт! Всем большое спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2005, 15:56 |
|
||
|
|

start [/forum/topic.php?fid=53&msg=33088507&tid=2007213]: |
0ms |
get settings: |
8ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
130ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
52ms |
get tp. blocked users: |
2ms |
| others: | 249ms |
| total: | 474ms |

| 0 / 0 |
