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

Ребята подскажите, уже всю голову сломал. Поставил pg_routing. Есть запрос

и в нем использую pgr_dijkstra

Получаю ошибку:

SQL Error [42P01]: ERROR: relation "pg_prepared_statements" does not exist

Куда копать, куда смотреть?

28 ответов

43 просмотра

Search_path?

Ozzy- Автор вопроса
Dmitry
Search_path?

show search_path выдаёт: public,tgtax tgtax- моя схема

Ozzy
show search_path выдаёт: public,tgtax tgtax- моя...

Ну, можэшь pg_catalog добавить. Хотя странно это, конечно. Зачем обращаться к системной вьюхе не по полному имени? Слушай, а она у тебя вообще есть -- pg_catalog.pg_prepared_statements? Этому пользователю -- доступна на чтение?

Ozzy- Автор вопроса
Ilya Anfimov
Ну, можэшь pg_catalog добавить. Хотя странно это,...

Спасибо тебе добрый человек, нет у меня pg_catalog. Я делал бекап pg_dump и переносил базу на новый сервак. И pg_catalog не развернулся из бекапа, много ошибок, остальные таблицы перенеслись нормально. Pg_catalog как-то можно по новой создать или из бекапа только?

Ozzy
Спасибо тебе добрый человек, нет у меня pg_catalog...

pg_catalog — это системное, оно не бэкапится и не восстанавливается

Ozzy- Автор вопроса
Виктор Егоров
pg_catalog — это системное, оно не бэкапится и не ...

Не понял. А что же делать? Я создал новую БД и залил в неё бекап. Что я сделал не так?

Ozzy- Автор вопроса
Виктор Егоров
pg_catalog — это системное, оно не бэкапится и не ...

Этот pg_catalog создается автоматически при создании новой БД?

Ozzy
Спасибо тебе добрый человек, нет у меня pg_catalog...

pg_catalog не разворачивается из дампа. Он создаётся при createdb (из template1).

Ozzy
Этот pg_catalog создается автоматически при создан...

И это схема, там пачка таблиц в ней. Впрочем, без неё -- вам бы ни из какой таблицы ничего выбрать не получилось, так что pg_catalog как таковой у вас, безусловно, есть.

Ilya Anfimov
pg_catalog не разворачивается из дампа. Он создаёт...

Получается что если в дампе есть drop database; create database - то он должен быть?

Ozzy- Автор вопроса
Ilya Anfimov
И это схема, там пачка таблиц в ней. Впрочем, без...

Я в dbeaver создаю новую базу, в ней есть схема public и больше ничего. Где же pg_catalog? Он не отображается?

Ozzy
Я в dbeaver создаю новую базу, в ней есть схема pu...

Понятия не имею, как это выглядит в dbeaver. Подключитесь через psql, для начала.

Ozzy- Автор вопроса
Ilya Anfimov
Понятия не имею, как это выглядит в dbeaver. Подкл...

Зашёл в psql, потом create database test. В схемах этой базы только рublic. Что не так делаю?

Ozzy- Автор вопроса
Ilya Anfimov
Понятия не имею, как это выглядит в dbeaver. Подкл...

Может права какие-то надо прописать. Подскажи где и как?

Ozzy- Автор вопроса
Ilya Anfimov
\dS , для начала.

Schema | Name | Type | Owner ------------+----------------------------+-------+---------- pg_catalog | pg_aggregate | table | postgres pg_catalog | pg_am | table | postgres pg_catalog | pg_amop | table | postgres pg_catalog | pg_amproc | table | postgres pg_catalog | pg_attrdef | table | postgres pg_catalog | pg_attribute | table | postgres pg_catalog | pg_auth_members | table | postgres pg_catalog | pg_authid | table | postgres pg_catalog | pg_backend_memory_contexts | view | postgres pg_catalog | pg_cast | table | postgres pg_catalog | pg_class | table | postgres ..... Дальше ещё инфа \dn+ Показаны все схемы в БД, public есть, pg_catalog нету

Ozzy
Schema | Name | Type | O...

Как это нету -- когда вот она, как минимум в списке таблиц?

Ozzy- Автор вопроса
Ilya Anfimov
А, \dnS+

Есть pg_catalog, owner у него postgres. А у моей схемы owner другой, я создал пользователя другого. В этом проблема? Что нужно сделать?

Ozzy
Есть pg_catalog, owner у него postgres. А у моей с...

Я пока не уверен, что есть проблема. SELECT на ту таблицу работает? (Какая у тебя там была?)

Ozzy- Автор вопроса
Ilya Anfimov
Я пока не уверен, что есть проблема. SELECT на ту ...

Да, select * from table работает. Но как только хочу использовать функцию из pg_routing: pgr_dijkstra вылетает ошибка pg_prepared_statements not exist. В функции pgr_dijkstra вызывается pg_prepared_statements: CREATE OR REPLACE FUNCTION tgtaxi._pgr_get_statement(o_sql text) RETURNS text LANGUAGE plpgsql STABLE STRICT AS $function$ DECLARE sql TEXT; BEGIN EXECUTE 'SELECT statement FROM pg_prepared_statements WHERE name =' quote_literal(o_sql) ' limit 1 ' INTO sql; IF (sql IS NULL) THEN RETURN o_sql; ELSE RETURN regexp_replace(regexp_replace(regexp_replace(sql, '\s(as)\s', '_foo_', 'i'), '^.*_foo_', '','i'), ';$', ''); END IF; END $function$ ;

Ozzy- Автор вопроса
Ilya Anfimov
\dS , для начала.

В выводе этой команды должен быть pg_catalog.pg_prepared_statements, правильно? Там нет такого. Или у меня прав нет, поэтому не вижу. .... pg_catalog | pg_operator | table | postgres pg_catalog | pg_opfamily | table | postgres pg_catalog | pg_partitioned_table | table | postgres pg_catalog | pg_policy | table | postgres pg_catalog | pg_proc | table | postgres pg_catalog | pg_publication | table | postgres pg_catalog | pg_publication_rel | table | postgres pg_catalog | pg_range | table | postgres pg_catalog | pg_replication_origin | table | postgres ....

Ozzy
В выводе этой команды должен быть pg_catalog.pg_pr...

Да, правильно. SELECT * FROM pg_prepared_statements; что говорит?

Ozzy
В выводе этой команды должен быть pg_catalog.pg_pr...

Если прав нет -- подсоединитесь суперпользователем и проверьте ещё раз.

Ozzy- Автор вопроса
Ilya Anfimov
Если прав нет -- подсоединитесь суперпользователем...

Зашёл так: sudo -i -u postgres Select stаtement from pg_prepared_statements - отработал нормально Переключаюсь на мою базу: \с my_db Выполняю тот же селект и ошибка: relation pg_prepared_statements does not exist Я же зашёл под пользователем postgres, это же superuser? Что ему надо?

Ozzy
Зашёл так: sudo -i -u postgres Select stаtement f...

Чаще всего -- да, суперюзер. Но лучшэ проверить через \dg. Теперь начинай проверять, есть ли эта таблицы в template1 и template0. Если нет в обоих -- лучшэ переиницыализировать кластер. Если есть в template0, нет в template1 -- ну, можно переиницыализировать template1 из template0.

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
15
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
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
Карта сайта