|
|
|
Извлечение данных из системных таблиц REDSHIFT
|
|||
|---|---|---|---|
|
#18+
Необходимо извлечь данные из information_schema или pg_table_deff и вставить в другую таблицу для дальнейшего анализа. CREATE TABLE SOURCE(Tablename VarChar(100), Columns VarChar(100),Type VarChar(100)); INSERT INTO SOURCE (Tablename) SELECT table_name FROM information_schema.tables Выдает ошибку: ERROR: 0A000: Specified types or functions (one per INFO message) not supported on Redshift tables. При чем сам селект выполняется, а вставку делать не желает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2016, 14:26 |
|
||
|
Извлечение данных из системных таблиц REDSHIFT
|
|||
|---|---|---|---|
|
#18+
Это потому что данный запрос выполняется на мастер ноде. Простого решения тут к сожалению нет, можно только выгрузить результат в файл внешней утилитой (UNLOAD тоже не сработает) и потом уже загрузить в таблицу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2016, 00:57 |
|
||
|
Извлечение данных из системных таблиц REDSHIFT
|
|||
|---|---|---|---|
|
#18+
Apex, Может быть про мастер нод и правда, но я столкнулся, ковыряя глубже системные таблицы, с функцией Format_type(OID, INTEGER). Так вот она возвращает значение в формате TEXT. А формат TEXT не вставляется в таблицу. Таким образом, вставка выборок из системных таблиц, содержащих эту функцию не работает, а из остальных системных таблиц все хорошо. Для моей задачи пришлось искать другие таблицы, содержащие нужную мне информацию. Может кому и поможет моя подсказка. Всем спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2016, 10:51 |
|
||
|
Извлечение данных из системных таблиц REDSHIFT
|
|||
|---|---|---|---|
|
#18+
И я пока не победил эту беду. Может кто знает куда обращается Format_Type и что делает? Можно ли как-то обойтись в тексте не применяя эту функцию? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2016, 12:32 |
|
||
|
Извлечение данных из системных таблиц REDSHIFT
|
|||
|---|---|---|---|
|
#18+
Sergey-ZZZApex, Может быть про мастер нод и правда, но я столкнулся, ковыряя глубже системные таблицы, с функцией Format_type(OID, INTEGER). Так вот она возвращает значение в формате TEXT. А формат TEXT не вставляется в таблицу. Таким образом, вставка выборок из системных таблиц, содержащих эту функцию не работает, а из остальных системных таблиц все хорошо. Для моей задачи пришлось искать другие таблицы, содержащие нужную мне информацию. Может кому и поможет моя подсказка. Всем спасибо. "Формат" text тут не при чем, дело в самой функции format_type, она работает только на мастер ноде. Но, чтобы вставить данные, которые она возвращает она должна выполниться на обычных нодах, т.к. там храняться данные. Например: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. Как видно функция current_database() работает в контексте постоянной таблицы. А значит можно ее результат записать в таблицу: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. Отлично, теперь попробуем тоже самое с current_schema(): Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. Как видно, создать постоянную таблицу на основе current_schema() нельзя, ровно как и нельзя вызывать эту функцию в контексте запроса из другой постоянной таблицы. Та же проблема и с Format_type, которая используется в системных вьюхах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2016, 01:35 |
|
||
|
|

start [/forum/search_topic.php?author=Dagget&author_mode=last_posts&do_search=1]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
get settings: |
10ms |
get forum list: |
11ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
152ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
52ms |
get tp. blocked users: |
2ms |
| others: | 445ms |
| total: | 717ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...