SQL для запроса таблицы со знаком доллара

Я использую программное обеспечение Looker Dashboarding (см.: looker.com). Это создает временные таблицы в вашей базе данных looker_scratch схема с длинными именами, каждая из которых содержит символ доллара.

Это просто запросить с помощью "SQL Runner" в самом Looker, который каким-то образом может экранировать символ доллара, но я не могу запросить их с помощью стороннего SQL-клиента.

Я пытаюсь запросить эту таблицу:

SELECT *
FROM looker_scratch.LR$5UA5D3XQDBPAYU0Q9FLFE_test

но получите ошибку:

the # of binded parameters < the # of parameter markers

Как я могу запросить таблицу?

Я пробовал:

  • ...FROM looker_scratch."LR$5UA5D3XQDBPAYU0Q9FLFE_test" - говорит, что отношения не существует
  • ...FROM looker_scratch."LR\$5UA5D3XQDBPAYU0Q9FLFE_test" - говорит, что отношения не существует
  • ...FROM looker_scratch.$LR\$5UA5D3XQDBPAYU0Q9FLFE_test$ - говорит синтаксическая ошибка
  • ...FROM looker_scratch.$$LR\$5UA5D3XQDBPAYU0Q9FLFE_test$$ - говорит синтаксическая ошибка
  • ...FROM looker_scratch.E'LR\$5UA5D3XQDBPAYU0Q9FLFE_test' - говорит синтаксическая ошибка

1 ответ

Решение

Попробуйте выбрать точный идентификатор по шаблону:

select oid::regclass from pg_class where relname ilike '%5ua5d%';

Например:

so=# create table t."WeirdMix$" ();
CREATE TABLE
Time: 55.750 ms
so=# select oid::regclass from pg_class where relname ilike '%mix%';
      oid
---------------
 t."WeirdMix$"
(1 row)

Time: 90.814 ms
Другие вопросы по тегам