powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / error while transaction
19 сообщений из 19, страница 1 из 1
error while transaction
    #39252341
Jonhson
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ERROR: current transaction is aborted, commands ignored until end of transaction block


подскажите,
что бы сие могло значить и как можно избежать, не могу разобраться
...
Рейтинг: 0 / 0
error while transaction
    #39252361
Lonepsycho
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Jonhson,

во время транзакции, т.е. после BEGIN, произошла ошибка (синтаксис, права и т.д.), и постгрес вам говорит, что любая следующая ваша операция будет игнорироватся пока не будет сделан ROLLBACK, т.е. завершена транзакция. а где именно произошла ошибка, смотреть в логах.
...
Рейтинг: 0 / 0
error while transaction
    #39252366
Jonhson
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот это любопытное поведение, мда.

Спасибо
...
Рейтинг: 0 / 0
error while transaction
    #39252381
Павел Лузанов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Jonhsonвот это любопытное поведение, мда.

В psql любопытным поведением можно управлять переменной ON_ERROR_ROLLBACK .
...
Рейтинг: 0 / 0
error while transaction
    #39252384
qwwq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LonepsychoJonhson,

во время транзакции, т.е. после BEGIN, произошла ошибка (синтаксис, права и т.д.), и постгрес вам говорит, что любая следующая ваша операция будет игнорироватся пока не будет сделан ROLLBACK, т.е. завершена транзакция. а где именно произошла ошибка, смотреть в логах.

это не совсем верная формулировка. любопытное поведение вытекает из того момента, что с момента begin могло быть сказано несколько savepoint и надо определяться, куда собственно rollback
...
Рейтинг: 0 / 0
error while transaction
    #39252399
Jonhson
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сиречь
Код: sql
1.
\set ON_ERROR_ROLLBACK INTERACTIVE




отлично!
...
Рейтинг: 0 / 0
error while transaction
    #39252400
Jonhson
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да ещё вопрос, а запинить таблицу в кэш как-то можно?
...
Рейтинг: 0 / 0
error while transaction
    #39252401
Фотография vyegorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
error while transaction
    #39252402
Jonhson
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vyegorov,

а без левых модулей нельзя?

табличка очень маленькая, dual. с 1-й записью X
...
Рейтинг: 0 / 0
error while transaction
    #39252403
Jonhson
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и к тому же это не пин, а просто загрузка, данные может вымыть из кэша
...
Рейтинг: 0 / 0
error while transaction
    #39252408
p2.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Jonhsonтабличка очень маленькая, dual. с 1-й записью Xсделай view и ... прочитай доку.
...
Рейтинг: 0 / 0
error while transaction
    #39252420
Jonhson
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
p2.Jonhsonтабличка очень маленькая, dual. с 1-й записью Xсделай view и ... прочитай доку.

думаю view будет хуже, чем прочитать один блок
...
Рейтинг: 0 / 0
error while transaction
    #39252443
Фотография vyegorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Jonhsonа запинить таблицу в кэш как-то можно?
Именно за-PIN-ить (зафиксировать) — никак.
Если кэш пустой и нужно “разогреть” таблицы/индексы/материализованные представления — pg_prewarm.
В остальном — зависит от востребованности блоков, если активные, то скорее всего будут сидеть в кэше.

Средств для админа управлять содержимым кэша нет (да и незачем).
...
Рейтинг: 0 / 0
error while transaction
    #39252450
qwwq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Jonhsonp2.пропущено...
сделай view и ... прочитай доку.

думаю view будет хуже, чем прочитать один блокза dual надо вообще убивать на

чем вью хуже -- не ясно.
ясно ,что более устойчиво к вандализму -- никто в него ничто не всунет. никто ничего не изменит.
никто не оттранкейтит, не отделетит.

но можно потестировать
в т.ч. смоделировать активное вытеснение превармом большого и левого
...
Рейтинг: 0 / 0
error while transaction
    #39252479
Фотография vyegorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Jonhson,

Посмотрите на расширение http://pgxn.org/dist/orafce/
Может велосипед там уже есть, по крайней мере `dual` и несколько пакетов (скажем, dbms_pipe и utl_file) присутствуют.
...
Рейтинг: 0 / 0
error while transaction
    #39252538
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Jonhsonvyegorov,

а без левых модулей нельзя?

табличка очень маленькая, dual. с 1-й записью X

Она и так в кеше будет при хоть сколько то частом использовании.
Но вообще я бы ее объявил как view из values без привлечения таблиц вообще.
Например вот так вот:
Код: plsql
1.
2.
3.
4.
-- emulation of dual table
CREATE VIEW public.dual AS SELECT 'X'::varchar AS dummy;
REVOKE ALL ON public.dual FROM PUBLIC;
GRANT SELECT, REFERENCES ON public.dual TO PUBLIC;


А вообще посмотрите на https://github.com/orafce/orafce
эта штука снимет вам кучу головняка при миграции.

--
Maxim Boguk
www.postgresql-consulting.ru
...
Рейтинг: 0 / 0
error while transaction
    #39253080
Jonhson
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vyegorovJonhson,

Посмотрите на расширение http://pgxn.org/dist/orafce/
Может велосипед там уже есть, по крайней мере `dual` и несколько пакетов (скажем, dbms_pipe и utl_file) присутствуют.


а как посмотреть какие расширения уже есть?

такое

Код: sql
1.
2.
3.
4.
5.
select * from pg_extension;
 extname | extowner | extnamespace | extrelocatable | extversion | extconfig | extcondition 
---------+----------+--------------+----------------+------------+-----------+--------------
 plpgsql |       10 |           11 | f              | 1.0        |           | 
(1 row)



выводит ерунду
...
Рейтинг: 0 / 0
error while transaction
    #39253084
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JonhsonvyegorovJonhson,

Посмотрите на расширение http://pgxn.org/dist/orafce/
Может велосипед там уже есть, по крайней мере `dual` и несколько пакетов (скажем, dbms_pipe и utl_file) присутствуют.


а как посмотреть какие расширения уже есть?

такое

Код: sql
1.
2.
3.
4.
5.
select * from pg_extension;
 extname | extowner | extnamespace | extrelocatable | extversion | extconfig | extcondition 
---------+----------+--------------+----------------+------------+-----------+--------------
 plpgsql |       10 |           11 | f              | 1.0        |           | 
(1 row)



выводит ерунду

уже есть в смысле уже установлены в данной базе?
\dx

или уже есть в смысле можно установить в базу не доставляя дополнительные пакеты?
например ls -la /usr/share/postgresql/9.5/extension/ | grep control в случае ubuntu или debian и 9.5 базы.
или psql
create extenstion и нажать tab.

--
Maxim Boguk
www.postgresql-consulting.ru
...
Рейтинг: 0 / 0
error while transaction
    #39253103
Jonhson
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Maxim Boguk,

ну \dx это и есть select * from pg_extension;


а в остальном понял, спасибо )
...
Рейтинг: 0 / 0
19 сообщений из 19, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / error while transaction
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]