172 похожих чатов

Подскажите плз, если приложение обращается к information_schema как к xxx.information_schema,

можно ли средствами PostgreSQL сделать что-то типа симлинка, чтобы при обращении к xxx.information_schema шло обращение к information_schema? Через проксирование запроса решение так себе.

14 ответов

19 просмотров

Я вот, например, ничего не понял из вопроса. :( Покажите лучше конкретные запросы.

xxx — это название базы?

Roman-Poslavski Автор вопроса
Yaroslav Schekin
Я вот, например, ничего не понял из вопроса. :( По...

Ну например select data_type from xxx.information_schema.columns where table_name = ? and column_name = ? Естественно такой запрос на отрабатывает, потому что вместо xxx.information_schema.columns должно быть information_schema.columns

Roman Poslavski
Ну например select data_type from xxx.information_...

А почему приложение так обращается (может, это его стоит исправить, если возможно)? А средств для "подмены" названия базы в PostgreSQL нет, насколько я помню.

Roman Poslavski
Ну например select data_type from xxx.information_...

Это немного странно. Любой коннектор требует указания базы, а если она не указана явно, то с большой долей вероятности обращение идёт к postgres

Roman Poslavski
Ну например select data_type from xxx.information_...

Подскажите контекст: откуда вызываете, какой язык, либа и тд

Roman-Poslavski Автор вопроса
Yaroslav Schekin
А почему приложение так обращается (может, это его...

Почему - потому что автор не подумал видимо. Это eventuate tram core, java

Roman Poslavski
Почему - потому что автор не подумал видимо. Это e...

Зря он так сделал, мне кажется. Потому что при любом переименовании базы (сделали копию для теста, да и мало ли почему) приложение просто перестаёт работать. Так что да, лучше request.

Roman Poslavski
Ну например select data_type from xxx.information_...

Вы таки будете огорчены, но запросы из мыскля надо адаптировать под постгрес. И лазить в pg_catalog, который существенно информативнее information_schema без особой нужды не надо от слова совсем.

Roman-Poslavski Автор вопроса
Михаил Шурутов
Вы таки будете огорчены, но запросы из мыскля надо...

Я таки этого и боялся. А как тогда быть, если вы говорите, никуда не лазить, а data_type нужен?

Roman Poslavski
Я таки этого и боялся. А как тогда быть, если вы г...

Я ж написал - без особой нужды не лазить. Я, если честно, не совсем понимаю, зачем вам в прикладе нужны типы данных, если у вас есть (должны быть) определения таблиц и определённых вами же типов. А сами эти типы данных (встроенные) есть в документации. Поделитесь, пожалуйста, прикладной задачей, если эта задача действительно прикладная. А то если задача - разгрести недокументированное говнище, тогда всё понятно, и я могу только посочувствовать.

Roman-Poslavski Автор вопроса
Михаил Шурутов
Я ж написал - без особой нужды не лазить. Я, если ...

Да там на самом деле чудо фреймворк eventuate лезет, а он понятное дело не знает, какие могут быть поля. Ну короче все печально)

Roman Poslavski
Я таки этого и боялся. А как тогда быть, если вы г...

Так это обычно "умеет" сама библиотека / API / "адаптер" (или как это там называется в этом языке) для работы с PostgreSQL, т.е. никуда лазить не нужно. Если не умеет — нет ли варианта заменить на адекватную (чай, не 1990-ые)? ;)

Roman Poslavski
Да там на самом деле чудо фреймворк eventuate лезе...

Да уж... Я могу только опять же посочувствовать, если нет возможностей сменить этот чудо фреймфорк.

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
Карта сайта