Size: a a a

pgsql – PostgreSQL

2021 June 14

IA

Ilya Anfimov in pgsql – PostgreSQL
А чего не pg_restore ?

Так-то в принцыпе понимающему человеку несложно в этот restore.sql вписать правильный $$PATH$$ или там заменить COPY FROM на \copy.

Но какбы рассчитано оно на pg_restore.
источник

R

Radist in pgsql – PostgreSQL
в java-приложении, которое, собственно, работает с БД через jdbc-драйвер, т.е., надо посмотреть, что за запрос передаётся в драйвер.
источник

IA

Ilya Anfimov in pgsql – PostgreSQL
А-а. Ну, бывает. Странно так странно.
источник

PT

Pavel Ten in pgsql – PostgreSQL
то есть прям в исходном коде?
у меня то тул  (

возможно он косячит  

вендору писать?

readyapi
источник

R

Radist in pgsql – PostgreSQL
а у этой тулзы нет возможности настройки логирования?
В любом случае, можно попытаться поиграться уровнем логгирования jdbc-драйвера (там прямо в строке подключения можно настроить), авось там запрос где-то выведится полностью. см. https://jdbc.postgresql.org/documentation/head/logging.html
источник

DB

Dmitry Belyaev in pgsql – PostgreSQL
Уже через него и сделал, да и в рестор тоже зашёл. Спасибо!)
источник

PT

Pavel Ten in pgsql – PostgreSQL
thanks   will see tomorrow :)
источник

R

Radist in pgsql – PostgreSQL
id = any(_user_ids)
источник

IA

Ilya Anfimov in pgsql – PostgreSQL
Интересно, кстати, а есть какая-то причина, почему IN неработает?
(А заодно почему ANY/ALL неработает для списка значений)?
источник

R

Radist in pgsql – PostgreSQL
in работает, например так:
id in (select unnest(_user_ids))
источник

IA

Ilya Anfimov in pgsql – PostgreSQL
Скорее SELECT * FROM unnest по-моему.
Суть-то не в том, как обойти.
источник

IA

Ilya Anfimov in pgsql – PostgreSQL
И вообще, IN -- это = ANY, так что чтобы работало -- и так понятно. Непонятно, почему оно тут сломано.
источник

R

Radist in pgsql – PostgreSQL
ну именно так, как я указал, должно тоже работать.
Суть в том, что IN ожидает в скобках либо подзапрос, либо список значений через запятую. А ANY ожидает массив. У вас как раз массив.
источник

IA

Ilya Anfimov in pgsql – PostgreSQL
И да, для SELECT -- работают все пять вариантов, EXISTS, .. IN/NOT IN, .. op ANY/ALL.
А для списков -- только IN/NOT IN, для массивов -- только ANY/ALL. Ну ладно, EXISTS положым не очень нужэн... Но остальное-то.
источник

IA

Ilya Anfimov in pgsql – PostgreSQL
ilan=*> SELECT id IN (unnest(ARRAY[1,2])) FROM books;
ОШИБКА:  аргумент конструкции IN не должен возвращать множество
СТРОКА 1: SELECT id IN (unnest(ARRAY[1,2])) FROM books;


ilan=*> SELECT id IN (SELECT * FROM unnest(ARRAY[1,2])) FROM books;
?column?
----------
t
t
f
(3 строки)
источник

R

Radist in pgsql – PostgreSQL
> SELECT id IN (unnest(ARRAY[1,2])) FROM books
Потому что у меня было написано по другому:
SELECT id IN (SELECT unnest(ARRAY[1,2])) FROM books
источник

IA

Ilya Anfimov in pgsql – PostgreSQL
А, действительно.
источник

R

Radist in pgsql – PostgreSQL
В общем, суть в том, что in и = any - это разные синтаксические конструкции и странно ждать что они будут работать одинаково
источник

IA

Ilya Anfimov in pgsql – PostgreSQL
Ммм. Ладно, замнём для ясности.
источник

IA

Ilya Anfimov in pgsql – PostgreSQL
Впервые, кстати, увидел такой синтаксис.

Вот ведь тожэ бездна открывается!
select-expression, который меняет количество строк в запросе, не ну надо жэ!
Я прямо в недоумении.
источник