Postgresql error 53200

При выполнении запросов на БД (Postgres) возникла ошибка: 24.02.21 13:50:38.219,main,ERROR,ExecSql,null com.bssys.db.jdbc.DBSQLException: ОШ...

SQL Error [53200]: ОШИБКА: нехватка разделяемой памяти Подсказка: Возможно, следует увеличить параметр max_locks_per_transaction

При выполнении запросов на БД (Postgres) возникла ошибка:

24.02.21 13:50:38.219,main,ERROR,ExecSql,null
com.bssys.db.jdbc.DBSQLException: ОШИБКА: нехватка разделяемой памяти
Подсказка: Возможно, следует увеличить параметр max_locks_per_transaction.

Подробная информация по параметру здесь. Коротко ниже:
max_locks_per_transaction (integer)
Этот параметр управляет средним числом блокировок объектов, выделяемым для каждой транзакции; отдельные транзакции могут заблокировать и больше объектов, если все они умещаются в таблице блокировок.

Значение по умолчанию = 64

рядом также находится параметр max_pred_locks_per_transaction (integer)

В файле postgresql.conf (Postgres/data/) указано так:

#———————————————————————-

# LOCK MANAGEMENT

#———————————————————————-

#deadlock_timeout = 1s

#max_locks_per_transaction = 64 # min 10

# (change requires restart)

#max_pred_locks_per_transaction = 64 # min 10

# (change requires restart)

Изменил на это значение:

#———————————————————————-

# LOCK MANAGEMENT

#———————————————————————-

#deadlock_timeout = 1s

max_locks_per_transaction = 256 # min 10

# (change requires restart)

max_pred_locks_per_transaction = 1000 # min 10

# (change requires restart)

P.S. После изменения убрать символ «#» в начале строки

Популярные сообщения из этого блога

КБК. КВФО — Код вида финансового обеспечения (деятельности)

НПА:  Приказ Минфина России от 01.12.2010 N 157н Письмо Минфина России от 18 января 2018 г. N 02-06-10/2715 В целях организации и ведения бухгалтерского учета, утверждения Рабочего плана счетов применяются следующие коды вида финансового обеспечения (деятельности): для государственных (муниципальных) учреждений, организаций, осуществляющих полномочия получателя бюджетных средств, финансовых органов соответствующих бюджетов и органов, осуществляющих их кассовое обслуживание: 1 — деятельность, осуществляемая за счет средств соответствующего бюджета бюджетной системы Российской Федерации (бюджетная деятельность); 2 — приносящая доход деятельность (собственные доходы учреждения); 3 — средства во временном распоряжении; 4 — субсидии на выполнение государственного (муниципального) задания; 5 — субсидии на иные цели; 6 — субсидии на цели осуществления капитальных вложений; 7 — средства по обязательному медицинскому страхованию; для отражения органами Федерального казн

TRUNCATE / DELETE / DROP или как очистить таблицу

ИМЕЕМ: Таблица MSG (сообщения) с большим количеством записей. SQL> CREATE TABLE msg (id INTEGER NOT NULL PRIMARY KEY,                               description CHAR (50) NOT NULL,                            date_create DATE); ЗАДАЧА: Необходимо очистить таблицу от данных РЕШЕНИЕ: Для решения данной задачи есть несколько способов. Ниже описание и пример каждого из них. Способ №1 — используем DELETE  Самый простой способ (первый вариант) — выполнение оператора удаления записи. При его выполнении вы будете видеть результат (сколько записей удалено). Удобная штука когда необходимо точно знать и понимать правильные ли данные удалены. НО имеет недостатки перед другими вариантами решения поставленной задачи. SQL>  DELETE FROM msg; —Удалит все строки в таблице SQL>  DELETE FROM msg WHERE date_create = ‘2019.02.01’; —Удалит все строки у которых дата создания «2019.02.01»  Способ №2 — используем TRUNCATE  Использование оператора DML для очистки всех строк в та

Linux (РедОС). Сброс пароля

Изображение

Используется ОС РедОС 7.1, которая установлена в VBox. В процессе установки ОС, был задан только пароль для «root», дополнительных пользователей не создавалось. В  рекомендациях на сайте производителя ОС  указано: Помимо администратора РЕД ОС (root) в систему необходимо добавить, по меньшей мере, одного обычного пользователя. Работа от имени администратора РЕД ОС считается опасной (можно по неосторожности повредить систему), поэтому повседневную работу в РЕД ОС следует выполнять от имени обычного пользователя, полномочия которого ограничены. После перезапуска и попытке войти в систему под root, система выдает сообщение «Не сработало .попробуйте еще раз». Поэтому для решения проблемы было решено создать пользователя, для этого выполняем такие действия: После загрузки, в момент выбора системы, быстро нажимаем стрелки вверх и вниз (приостанавливаем обратный отсчет). Выбираем ядро и нажимаем «e». Находим строку, которая относится к ядру: здесь будет ряд «boot parameter

ТФФ 34.0. Полный перечень документов альбома ТФФ (Таблица 2)

  Для удобства и поиска информации по томам, маркерам и обозначении версии ТФФ. Таблица  актуальна  —  версия 34.0  — (дата начала действия с 01.01.2023 г.) Ссылки на предыдущие версии форматов: ТФФ 33.0 —  https://albafoxx.blogspot.com/2021/01/320-2.html ТФФ 32.0 —  https://albafoxx.blogspot.com/2020/01/310-2.html ТФФ 31.0 —  https://albafoxx.blogspot.com/2020/01/310-2.html ТФФ 30.0 —  https://albafoxx.blogspot.com/2019/12/300-2.html ТФФ 29.0 —  https://albafoxx.blogspot.com/2019/05/290-2.html ТФФ 28.0 —  https://albafoxx.blogspot.com/2019/04/2.html Наименование документа (справочника) Маркер Номер версии ТФО документа № тома Казначейское уведомление SU TXSU190101 2 Расходное расписание, Реестр расходных расписаний AP TXAP190101 1 Перечень целевых субсидий TL TXTL170101 1 Уведомление (протокол), Ин

I have a query that inserts a given number of test records.
It looks something like this:

CREATE OR REPLACE FUNCTION _miscRandomizer(vNumberOfRecords int)
RETURNS void AS $$
declare
    -- declare all the variables that will be used
begin
    select into vTotalRecords count(*) from tbluser;
    vIndexMain := vTotalRecords;

    loop
        exit when vIndexMain >= vNumberOfRecords + vTotalRecords;

        -- set some other variables that will be used for the insert
        -- insert record with these variables in tblUser
        -- insert records in some other tables
        -- run another function that calculates and saves some stats regarding inserted records

        vIndexMain := vIndexMain + 1;
        end loop;
    return;
end
$$ LANGUAGE plpgsql;

When I run this query for 300 records it throws the following error:

********** Error **********

ERROR: out of shared memory
SQL state: 53200
Hint: You might need to increase max_locks_per_transaction.
Context: SQL statement "create temp table _counts(...)"
PL/pgSQL function prcStatsUpdate(integer) line 25 at SQL statement
SQL statement "SELECT prcStatsUpdate(vUserId)"
PL/pgSQL function _miscrandomizer(integer) line 164 at PERFORM

The function prcStatsUpdate looks like this:

CREATE OR REPLACE FUNCTION prcStatsUpdate(vUserId int)
RETURNS void AS
$$
declare
    vRequireCount boolean;
    vRecordsExist boolean;
begin
    -- determine if this stats calculation needs to be performed
    select into vRequireCount
        case when count(*) > 0 then true else false end
    from tblSomeTable q
    where [x = y]
      and [x = y];

    -- if above is true, determine if stats were previously calculated
    select into vRecordsExist
        case when count(*) > 0 then true else false end
    from tblSomeOtherTable c
    inner join tblSomeTable q
       on q.Id = c.Id
    where [x = y]
      and [x = y]
      and [x = y]
      and vRequireCount = true;

    -- calculate counts and store them in temp table
    create temp table _counts(...);
    insert into _counts(x, y, z)
    select uqa.x, uqa.y, count(*) as aCount
    from tblSomeOtherTable uqa
    inner join tblSomeTable q
       on uqa.Id = q.Id
    where uqa.Id = vUserId
      and qId = [SomeOtherVariable]
      and [x = y]
      and vRequireCount = true
    group by uqa.x, uqa.y;

    -- if stats records exist, update them; else - insert new
    update tblSomeOtherTable 
    set aCount = c.aCount
    from _counts c
    where c.Id = tblSomeOtherTable.Id
      and c.OtherId = tblSomeOtherTable.OtherId
      and vRecordsExist = true
      and vRequireCount = true;

    insert into tblSomeOtherTable(x, y, z)
    select x, y, z
    from _counts
    where vRecordsExist = false
      and vRequireCount = true;

    drop table _counts;
end;
$$ LANGUAGE plpgsql;

It looks like the error is a result of a memory building up somewhere but since I create temp table, use it and drop right away (thus to my understanding releasing memory), I don’t see how that would be possible.

Update

I updated prcStatsUpdate function to represent the actual function that I have. I just replaced table and column names to be something generic.
The reason I didn’t post this first time is that it’s mostly very simple sql operations and I assumed there could not be any issues with it.

Also, where do you start line counting from? It says error is on line 25, but that just can’t be true since line 25 is a condition in the where clause if you start counting from the beginning. Do you start counting from begin?

Any ideas?

   Johan

06.09.17 — 08:02

Добрый день,прошу помощи в решении проблемы

пользую 1с 8.3.9.2309 + PostgreSql 9.4.2-1.1C происходит ошибка при загрузке базы dt ,ошибка 53200 error out of memory detail failed on request of size 536870912

ОС windows server 2016 standard,аналогичная проблема и на других ос

Пробовал менять настройки конфига pg,сейчас они такие

Это из основных как я полагаю интересующих :

shared_buffers = 64MB            # min 128kB

temp_buffers = 256MB            # min 800kB

work_mem = 128MB                # min 64kB

maintenance_work_mem = 256MB        # min 1MB

effective_cache_size = 6GB

——————————————

Всего оперативной памяти 16gb

Причём конкретно только одна база не загружается (она исправна,её тестировал БП 2.0)

ещё пробовал увеличить файл подкачки на диске С

Помогите кто сталкивался с такой же проблемой?кто её решил?

   Arh01

1 — 06.09.17 — 08:10

разрядность PostgreSql какая?

   Johan

2 — 06.09.17 — 08:12

(1) 64 разрядная как и windows server

   Johan

3 — 06.09.17 — 08:21

В логе вот что пишет:  

pg_authid_rolname_index: 1024 total in 1 blocks; 552 free (0 chunks); 472 used

  MdSmgr: 8192 total in 1 blocks; 6544 free (0 chunks); 1648 used

  LOCALLOCK hash: 8192 total in 1 blocks; 2880 free (0 chunks); 5312 used

  Timezones: 79320 total in 2 blocks; 5968 free (0 chunks); 73352 used

  ErrorContext: 8192 total in 1 blocks; 8176 free (0 chunks); 16 used

2017-09-04 18:55:43 MSK ERROR:  out of memory

2017-09-04 18:55:43 MSK DETAIL:  Failed on request of size 536870912.

2017-09-04 18:55:43 MSK CONTEXT:  COPY config, line 328, column binarydata

2017-09-04 18:55:43 MSK STATEMENT:  COPY Config FROM STDIN BINARY

   rphosts

4 — 06.09.17 — 08:21

попробуй в  work_mem указать немного больше чем от тебя просят

   Johan

5 — 06.09.17 — 08:22

ставил 256 и 512

   rphosts

6 — 06.09.17 — 08:22

и да, этот ДТ куда-то вообще загружается? Он точно не битый?

   rphosts

7 — 06.09.17 — 08:23

(5) переведи  «on request of size 536870912»

   Johan

8 — 06.09.17 — 08:25

(6) Да как файловая база он загружается

   Johan

9 — 06.09.17 — 08:27

(6) и точно не битый делал тестирование и исправление и chdbfl,без ошибок

   Johan

10 — 06.09.17 — 08:30

(7)размер по запросу 536870912,полагаю что не хватает памяти загрузить какую то таблицу

   Johan

11 — 06.09.17 — 08:31

а где её увеличить!?или может какой то другой параметр нужно увеличить

   rphosts

12 — 06.09.17 — 08:34

(11) 536 больше 512?

   Johan

13 — 06.09.17 — 08:36

(12) я понял к чему ты,я пробовал и 1024 ставить

   Johan

14 — 06.09.17 — 08:36

(12) но вот только не везде

   Johan

15 — 06.09.17 — 08:39

Попробую work_mem выставить > 536 ,но смогу попробовать вечером

   rphosts

16 — 06.09.17 — 08:52

(15) сделай сразу побольше чтобы наверняка

   Johan

17 — 06.09.17 — 09:07

(16) да 1024 поставлю,отпишусь по результату

   Asmody

18 — 06.09.17 — 09:20

и temp_buffers тоже.

   Asmody

19 — 06.09.17 — 09:30

shared_buffers рекомендуется делать побольше. 1/4 — 1/3 RAM.

maintenance_work_mem в 1/2 RAM или больше (до RAM-shared_buffers)

   Johan

20 — 06.09.17 — 09:40

(19) если не ошибаюсь то пробовал я ставить и больше 1 gb в

shared_buffers или temp_buffers служба pg перестаёт запускаться

   Johan

21 — 06.09.17 — 11:01

(16) Попробывал,выставить 1024 work_mem,shared_buffers,temp_buffers ошибка всё равно выходит

   Johan

22 — 06.09.17 — 11:04

Увидел вот какой момент,в свойствах Pg есть строка версии где написано PostgreSQL 9.4.2,complited by Visual C++ build 1500, 32-bit

   Johan

23 — 06.09.17 — 11:06

мне эта строка не нравится,типа используются компоненты Visual C++ 32 бита,посмотрел на давно созданном сервере тоже на pg там 64 стоит м.б дело в этом!?

   Johan

24 — 06.09.17 — 11:26

Похоже что да,вроде как ура..грузит ,но ошибку не выкидывает

   Johan

25 — 06.09.17 — 11:36

победа,парни дико извиняюсь,3 дня не в ту сторону смотрел,не тот дистрибутив поставил поставил общий,а надо было postgresql-9.4.2-1.1C_x64

   Arh01

26 — 06.09.17 — 11:49

(25) Теперь научился отличать приложения х64 от х86?

   dezss

27 — 06.09.17 — 11:55

(12) они равны

  

Johan

28 — 06.09.17 — 12:35

(26) Да,я поставил не посмотрев,а в описании в pg и сервис написано 64 Bit,а вот когда увидел строку версии ,тогда меня смутило

PostgreSQL присваивает пятисимвольные коды ошибок, которые соответствуют «SQLSTATE». Приложения обычно проверяют код ошибки и только потом обращаются к текстовому сообщению об ошибке. Коды ошибок и текстовое сообщение не меняются в новых выпусках. Обратите внимание, что не все коды ошибок, создаваемые PostgreSQL, определены в стандарте SQL. Некоторые дополнительные коды ошибок были добавлены самостоятельно или заимствованы из других баз данных.

Первые два символа кода ошибки представляют класс ошибок, а последние три символа — конкретное условие в этом классе. Таким образом, если вы не знаете значение конкретного кода ошибки, вы можете определить причину по классу ошибки.

Все коды ошибок и классы ошибок перечислены в статье. Для каждого класса ошибок существует свой «стандарт», код ошибки с тремя последними нулями. Этот код указывается только для условий ошибки, которые принадлежат к определенному классу, но не имеют конкретного кода. Читайте так же: Расшифровка кодов ошибок MySQL.

Класс 00 — Успешное завершение

00000

successful_completion

УСПЕШНОЕ ЗАВЕРШЕНИЕ

Класс 01 — Предупреждение

01000

warning

ПРЕДУПРЕЖДЕНИЕ

0100C

dynamic_result_sets_returned

ВОЗВРАЩЕНЫ ДИНАМИЧЕСКИЕ НАБОРЫ РЕЗУЛЬТАТОВ

01008

implicit_zero_bit_padding

НЕЯВНОЕ ЗАПОЛНЕНИЕ НУЛЕВОГО БИТА

01003

null_value_eliminated_in_set_function

НУЛЕВОЕ ЗНАЧЕНИЕ ИСКЛЮЧЕНО В ФУНКЦИИ SET

01007

privilege_not_granted

ПРИВИЛЕГИЯ НЕ ПРЕДОСТАВЛЕНА

1006

privilege_not_revoked

ПРИВИЛЕГИЯ НЕ ОТОЗВАНА

01004

string_data_right_truncation

УСЕЧЕНИЕ ПРАВОЙ ЧАСТИ СТРОКОВЫХ ДАННЫХ

01P01

deprecated_feature

УСТАРЕВШАЯ ФУНКЦИЯ

Класс 02 — Нет данных (это также класс предупреждения в соответствии со стандартом SQL)

02000

no_data

НЕТ ДАННЫХ

02001

no_additional_dynamic_result_sets_returned

ДОПОЛНИТЕЛЬНЫЕ ДИНАМИЧЕСКИЕ НАБОРЫ РЕЗУЛЬТАТОВ НЕ ВОЗВРАЩАЮТСЯ

Класс 03 — SQL-запрос еще не завершен

03000

sql_statement_not_yet_complete

SQL-ЗАПРОС ЕЩЕ НЕ ЗАВЕРШЕН

Класс 08 — Исключение подключения

08000

connection_exception

ИСКЛЮЧЕНИЕ СОЕДИНЕНИЯ

08003

connection_does_not_exist

СОЕДИНЕНИЕ НЕ СУЩЕСТВУЕТ

08006

connection_failure

СБОЙ СОЕДИНЕНИЯ

08001

sqlclient_unable_to_establish_sqlconnection

SQLCLIENT НЕ МОЖЕТ УСТАНОВИТЬ SQL-СОЕДИНЕНИЕ

008004

sqlserver_rejected_establishment_of_sqlconnection

SQLSERVER ОТКЛОНИЛ СОЗДАНИЕ SQL-СОЕДИНЕНИЯ

08007

transaction_resolution_unknown

РАЗРЕШЕНИЕ ТРАНЗАКЦИИ НЕИЗВЕСТНО

08P01

protocol_violation

Нарушение ПРОТОКОЛА

Класс 09 — Спровоцированное исключение действия

09000

triggered_action_exception

ИСКЛЮЧЕНИЕ СРАБОТАВШЕГО ДЕЙСТВИЯ

Класс 0A — Функция не поддерживается

0A000

feature_not_supported

ФАТУРА НЕ ПОДДЕРЖИВАЕТСЯ Класс 0B — Неправильная инициация транзакции

0B000

invalid_transaction_initiation

НЕКОРРЕКТНОЕ ИНИЦИИРОВАНИЕ ТРАНЗАКЦИИ

Класс 0F — Исключение локатора

0F000

locator_exception

ИСКЛЮЧЕНИЕ ЛОКАТОРА

0F001

invalid_locator_specification

НЕДЕЙСТВИТЕЛЬНАЯ СПЕЦИФИКАЦИЯ ЛОКАТОРА

Класс 0L — Неверный грантодатель

0L000

invalid_grantor

НЕДЕЙСТВИТЕЛЬНЫЙ ПРАВОДАТЕЛЬ

0LP01

invalid_grant_operation

НЕДОПУСТИМАЯ ОПЕРАЦИЯ ГРАНТА

Класс 0P — Неверная спецификация роли

0P000

invalid_role_specification

НЕДОПУСТИМАЯ СПЕЦИФИКАЦИЯ РОЛИ

Класс 21 — Нарушение кардинальности

21000

cardinality_violation

НАРУШЕНИЕ КАРДИНАЛЬНОСТИ

Класс 22 — Исключение данных

22000

data_exception

ИСКЛЮЧЕНИЕ ДАННЫХ

2202E

array_subscript_error

ОШИБКА ПОДСКРИПТА МАССИВА

22021

character_not_in_repertoire

СИМВОЛ ОТСУТСТВУЕТ В РЕПЕРТУАРЕ

22008

datetime_field_overflow

ПЕРЕПОЛНЕНИЕ ПОЛЯ DATETIME

22012

division_by_zero

ДЕЛЕНИЕ НА НОЛЬ

22005

error_in_assignment

ОШИБКА В ПРИСВОЕНИИ

2200B

escape_character_conflict

КОНФЛИКТ УПРАВЛЯЮЩИХ СИМВОЛОВ

22022

indicator_overflow

ПЕРЕПОЛНЕНИЕ ИНДИКАТОРА

22015

interval_field_overflow

ПЕРЕПОЛНЕНИЕ ПОЛЯ ИНТЕРВАЛА

2201E

invalid_argument_for_logarithm

НЕДОПУСТИМЫЙ АРГУМЕНТ ДЛЯ ЛОГАРИФМА

2201F

invalid_argument_for_power_function

НЕДОПУСТИМЫЙ АРГУМЕНТ ДЛЯ ФУНКЦИИ ПИТАНИЯ

2201G

invalid_argument_for_width_bucket_function

НЕДОПУСТИМЫЙ АРГУМЕНТ ДЛЯ ФУНКЦИИ ШИРИНЫ ВЕДРА

22018

invalid_character_value_for_cast

НЕДОПУСТИМОЕ ЗНАЧЕНИЕ СИМВОЛА ДЛЯ БРОСКА

22007

invalid_datetime_format

НЕВЕРНЫЙ ФОРМАТ ВРЕМЕНИ ДАТЫ

22019

invalid_escape_character

НЕДОПУСТИМЫЙ УПРАВЛЯЮЩИЙ СИМВОЛ

2200D

invalid_escape_octet

НЕДОПУСТИМЫЙ УПРАВЛЯЮЩИЙ ОКТЕТ

22025

invalid_escape_sequence

НЕВЕРНАЯ ПОСЛЕДОВАТЕЛЬНОСТЬ СИМВОЛОВ

22P06

nonstandard_use_of_escape_character

НЕСТАНДАРТНОЕ ИСПОЛЬЗОВАНИЕ УПРАВЛЯЮЩЕГО СИМВОЛА

22010

invalid_indicator_parameter_value

НЕДОПУСТИМОЕ ЗНАЧЕНИЕ ПАРАМЕТРА ИНДИКАТОРА

22020

invalid_limit_value

НЕДОПУСТИМОЕ ПРЕДЕЛЬНОЕ ЗНАЧЕНИЕ

22023

invalid_parameter_value

НЕДОПУСТИМОЕ ЗНАЧЕНИЕ ПАРАМЕТРА

2201B

invalid_regular_expression

НЕВЕРНОЕ РЕГУЛЯРНОЕ ВЫРАЖЕНИЕ

22009

invalid_time_zone_displacement_value

НЕДОПУСТИМОЕ ЗНАЧЕНИЕ СМЕЩЕНИЯ ЧАСОВОГО ПОЯСА

2200C

invalid_use_of_escape_character

НЕКОРРЕКТНОЕ ИСПОЛЬЗОВАНИЕ УПРАВЛЯЮЩЕГО СИМВОЛА

2200G

most_specific_type_mismatch

НАИБОЛЕЕ СПЕЦИФИЧЕСКОЕ НЕСООТВЕТСТВИЕ ТИПОВ

22004

null_value_not_allowed

НУЛЕВОЕ ЗНАЧЕНИЕ НЕДОПУСТИМО

22002

null_value_no_indicator_parameter

НУЛЕВОЕ ЗНАЧЕНИЕ НЕТ ПАРАМЕТРА ИНДИКАТОРА

22003

numeric_value_out_of_range

ЧИСЛОВОЕ ЗНАЧЕНИЕ ВНЕ ДИАПАЗОНА

22026

string_data_length_mismatch

НЕСООТВЕТСТВИЕ ДЛИНЫ СТРОКОВЫХ ДАННЫХ

22001

string_data_right_truncation

УСЕЧЕНИЕ СТРОКОВЫХ ДАННЫХ СПРАВА

22011

substring_error

ОШИБКА ПОДСТРОКИ

22027

trim_error

ОШИБКА ТРИМ

22024

unterminated_c_string

НЕЗАВЕРШЕННАЯ СТРОКА C

2200F

zero_length_character_string

СТРОКА СИМВОЛОВ НУЛЕВОЙ ДЛИНЫ

22P01

floating_point_exception

ИСКЛЮЧЕНИЕ ПЛАВАЮЩЕЙ ТОЧКИ

22P02

invalid_text_representation

НЕКОРРЕКТНОЕ ПРЕДСТАВЛЕНИЕ ТЕКСТА

22P03

invalid_binary_representation

НЕКОРРЕКТНОЕ ДВОИЧНОЕ ПРЕДСТАВЛЕНИЕ

22P04

bad_copy_file_format

НЕПРАВИЛЬНЫЙ ФОРМАТ ФАЙЛА КОПИИ

22P05

untranslatable_character

НЕПЕРЕВОДИМЫЙ СИМВОЛ

Класс 23 — Нарушение ограничений целостности

23000

integrity_constraint_violation

НАРУШЕНИЕ ОГРАНИЧЕНИЯ ЦЕЛОСТНОСТИ

23001

restrict_violation

НАРУШЕНИЕ ОГРАНИЧЕНИЙ

23502

not_null_violation

НАРУШЕНИЕ НЕ НУЛЯ

23503

foreign_key_violation

НАРУШЕНИЕ ВНЕШНЕГО КЛЮЧА

23505

unique_violation

УНИКАЛЬНОЕ НАРУШЕНИЕ

23514

check_violation

НАРУШЕНИЕ ПРОВЕРКИ

Класс 24 — Неверное состояние курсора

24000

invalid_cursor_state

НЕДОПУСТИМОЕ СОСТОЯНИЕ КУРСОРА

Класс 25 — Неверное состояние транзакции

25000

invalid_transaction_state

НЕДЕЙСТВИТЕЛЬНОЕ СОСТОЯНИЕ ТРАНЗАКЦИИ

25001

active_sql_transaction

АКТИВНАЯ SQL ТРАНЗАКЦИЯ

25002

branch_transaction_already_active

ТРАНЗАКЦИЯ ОТДЕЛЕНИЯ УЖЕ АКТИВНА

25008

held_cursor_requires_same_isolation_level

УДЕРЖИВАЕМЫЙ КУРСОР ТРЕБУЕТ ОДИНАКОВОГО УРОВНЯ ИЗОЛЯЦИИ

25003

inappropriate_access_mode_for_branch_transaction

НЕСООТВЕТСТВУЮЩИЙ РЕЖИМ ДОСТУПА ДЛЯ ТРАНЗАКЦИИ ВЕТВЛЕНИЯ

25004

inappropriate_isolation_level_for_branch_transaction

НЕСООТВЕТСТВУЮЩИЙ УРОВЕНЬ ИЗОЛЯЦИИ ДЛЯ ТРАНЗАКЦИИ ФИЛИАЛА

25005

no_active_sql_transaction_for_branch_transaction

НЕТ АКТИВНОЙ SQL-ТРАНЗАКЦИИ ДЛЯ ТРАНЗАКЦИИ ФИЛИАЛА

25006

read_only_sql_transaction

SQL-ТРАНЗАКЦИЯ ТОЛЬКО ДЛЯ ЧТЕНИЯ

25007

schema_and_data_statement_mixing_not_supported

СМЕШИВАНИЕ СХЕМЫ И ОПЕРАТОРА ДАННЫХ НЕ ПОДДЕРЖИВАЕТСЯ

25P01

no_active_sql_transaction

НЕТ АКТИВНОЙ SQL ТРАНЗАКЦИИ

25P02

in_failed_sql_transaction

В НЕУДАЧНОЙ ТРАНЗАКЦИИ SQL

Класс 26 — Неверное имя SQL-запроса

26000

invalid_sql_statement_name

НЕДОПУСТИМОЕ ИМЯ SQL-ОПЕРАТОРА

Класс 27 — Нарушение триггерного изменения данных

27000

triggered_data_change_violation

НАРУШЕНИЕ ПРАВИЛ ИЗМЕНЕНИЯ ДАННЫХ

Класс 28 — Неверная спецификация авторизации

28000

invalid_authorization_specification

НЕДОПУСТИМАЯ СПЕЦИФИКАЦИЯ АВТОРИЗАЦИИ

Класс 2B — Зависимые дескрипторы привилегий все еще существуют

2B000

dependent_privilege_descriptors_still_exist

ЗАВИСИМЫЕ ДЕСКРИПТОРЫ ПРИВИЛЕГИЙ ВСЕ ЕЩЕ СУЩЕСТВУЮТ

2BP01

dependent_objects_still_exist

ЗАВИСИМЫЕ ОБЪЕКТЫ ВСЕ ЕЩЕ СУЩЕСТВУЮТ

Класс 2D — Некорректное завершение транзакции

2D000

invalid_transaction_termination

НЕКОРРЕКТНОЕ ЗАВЕРШЕНИЕ ТРАНЗАКЦИИ

Класс 2F — Исключение SQL-маршрута

2F000

sql_routine_exception

ИСКЛЮЧЕНИЕ SQL-ПРОЦЕДУРЫ

2F005

function_executed_no_return_statement

ФУНКЦИЯ ВЫПОЛНЕНА НЕТ ЗАЯВЛЕНИЯ О ВОЗВРАТЕ

2F002

modifying_sql_data_not_permitted

МОДИФИКАЦИЯ ДАННЫХ SQL ЗАПРЕЩЕНА

2F003

prohibited_sql_statement_attempted

ПОПЫТКА ЗАПРЕЩЕННОГО SQL-ОПЕРАТОРА

2F004

reading_sql_data_not_permitted

ЧТЕНИЕ SQL-ДАННЫХ ЗАПРЕЩЕНО

Класс 34 — Неверное имя курсора

34000

invalid_cursor_name

НЕДОПУСТИМОЕ ИМЯ КУРСОРА

Класс 38 — Исключение внешней программы

38000

external_routine_exception

ИСКЛЮЧЕНИЕ ВНЕШНЕЙ ПРОЦЕДУРЫ

38001

containing_sql_not_permitted

СОДЕРЖАНИЕ SQL НЕ РАЗРЕШЕНО

38002

modifying_sql_data_not_permitted

МОДИФИКАЦИЯ ДАННЫХ SQL НЕ РАЗРЕШЕНА

38003

prohibited_sql_statement_attempted

ПРЕДПРИНЯТА ПОПЫТКА ВЫПОЛНЕНИЯ ЗАПРЕЩЕННОГО SQL-ЗАПРОСА

38004

reading_sql_data_not_permitted

ЧТЕНИЕ SQL-ДАННЫХ НЕ РАЗРЕШЕНО

Класс 39 — Исключение при вызове внешнего маршрута

39000

external_routine_invocation_exception

ИСКЛЮЧЕНИЕ ВЫЗОВА ВНЕШНЕЙ ПРОЦЕДУРЫ

39001

invalid_sqlstate_returned

ВОЗВРАЩЕНО НЕВЕРНОЕ СОСТОЯНИЕ SQLSTATE

39004

null_value_not_allowed

НУЛЕВОЕ ЗНАЧЕНИЕ НЕДОПУСТИМО

39P01

trigger_protocol_violated

НАРУШЕН ПРОТОКОЛ ТРИГГЕРА

39P02

srf_protocol_violated

НАРУШЕН ПРОТОКОЛ SRF

Класс 3B — Исключение точки сохранения

3B000

savepoint_exception

ИСКЛЮЧЕНИЕ ТОЧКИ СОХРАНЕНИЯ

3B001

invalid_savepoint_specification

НЕВЕРНАЯ СПЕЦИФИКАЦИЯ ТОЧКИ СОХРАНЕНИЯ

Класс 3D — Неверное имя каталога

3D000

invalid_catalog_name

НЕДОПУСТИМОЕ ИМЯ КАТАЛОГА

Класс 3F — Неверное имя схемы

3F000

invalid_schema_name

НЕКОРРЕКТНОЕ ИМЯ СХЕМЫ

Класс 40 — Откат транзакции

40000

transaction_rollback

ОТКАТ ТРАНЗАКЦИИ

40002

transaction_integrity_constraint_violation

НАРУШЕНИЕ ОГРАНИЧЕНИЙ ЦЕЛОСТНОСТИ ТРАНЗАКЦИИ

40001

serialization_failure

СБОЙ СЕРИАЛИЗАЦИИ

40003

statement_completion_unknown

ЗАВЕРШЕНИЕ ОПЕРАЦИИ НЕИЗВЕСТНО

40P01

deadlock_detected

ОБНАРУЖЕН ТУПИК

Класс 42 — Ошибка синтаксиса или нарушение правила доступа

42000

syntax_error_or_access_rule_violation

СИНТАКСИЧЕСКАЯ ОШИБКА ИЛИ НАРУШЕНИЕ ПРАВИЛА ДОСТУПА

42601

syntax_error

ОШИБКА СИНТАКСИСА

42501

insufficient_privilege

НЕДОСТАТОЧНАЯ ПРИВИЛЕГИЯ

42846

cannot_coerce

НЕ МОЖЕТ СОХРАНИТЬСЯ

42803

grouping_error

ОШИБКА ГРУППИРОВКИ

42830

invalid_foreign_key

НЕДОПУСТИМЫЙ ВНЕШНИЙ КЛЮЧ

42602

invalid_name

НЕПРАВИЛЬНОЕ ИМЯ

42622

name_too_long

СЛИШКОМ ДЛИННОЕ ИМЯ

42939

reserved_name

ЗАРЕГИСТРИРОВАННОЕ ИМЯ

42804

datatype_mismatch

НЕСООТВЕТСТВИЕ ТИПОВ ДАННЫХ

42P18

indeterminate_datatype

НЕОПРЕДЕЛЕННЫЙ ТИП ДАННЫХ

42809

wrong_object_type

НЕПРАВИЛЬНЫЙ ТИП ОБЪЕКТА

42703

undefined_column

НЕОПРЕДЕЛЁННЫЙ СТОЛБЕЦ

42883

undefined_function

НЕОПРЕДЕЛЁННАЯ ФУНКЦИЯ

42P01

undefined_table

НЕОПРЕДЕЛЁННАЯ ТАБЛИЦА

42P02

undefined_parameter

НЕОПРЕДЕЛЁННЫЙ ПАРАМЕТР

42704

undefined_object

НЕОПРЕДЕЛЕННЫЙ ОБЪЕКТ

42701

duplicate_column

ДУБЛИРУЮЩИЙ СТОЛБЕЦ

42P03

duplicate_cursor

ДУБЛИРУЮЩИЙ КУРСОР

42P04

duplicate_database

ДУБЛИРОВАНИЕ БАЗЫ ДАННЫХ

42723

duplicate_function

ДУБЛИРУЮЩАЯ ФУНКЦИЯ

42P05

duplicate_prepared_statement

ДУБЛИРОВАНИЕ ПОДГОТОВЛЕННОГО ОПЕРАТОРА

42P06

duplicate_schema

ДУБЛИРОВАНИЕ СХЕМЫ

42P07

duplicate_table

ДУБЛИРУЮЩАЯ ТАБЛИЦА

42712

duplicate_alias

ДУБЛИКАТ ПСЕВДОНИМА

42710

duplicate_object

ДУБЛИРУЮЩИЙ ОБЪЕКТ

42702

ambiguous_column

НЕОДНОЗНАЧНЫЙ СТОЛБЕЦ

42725

ambiguous_function

НЕОДНОЗНАЧНАЯ ФУНКЦИЯ

42P08

ambiguous_parameter

НЕОДНОЗНАЧНЫЙ ПАРАМЕТР

42P09

ambiguous_alias

НЕОДНОЗНАЧНЫЙ ПСЕВДОНИМ

42P10

invalid_column_reference

НЕДОПУСТИМАЯ ССЫЛКА НА СТОЛБЕЦ

42611

invalid_column_definition

НЕКОРРЕКТНОЕ ОПРЕДЕЛЕНИЕ СТОЛБЦА

42P11

invalid_cursor_definition

НЕКОРРЕКТНОЕ ОПРЕДЕЛЕНИЕ КУРСОРА

42P12

invalid_database_definition

НЕДОПУСТИМОЕ ОПРЕДЕЛЕНИЕ БАЗЫ ДАННЫХ

42P13

invalid_function_definition

НЕВЕРНОЕ ОПРЕДЕЛЕНИЕ ФУНКЦИИ

42P14

invalid_prepared_statement_definition

НЕДОПУСТИМОЕ ОПРЕДЕЛЕНИЕ ПОДГОТОВЛЕННОГО ОПЕРАТОРА

42P15

invalid_schema_definition

НЕВЕРНОЕ ОПРЕДЕЛЕНИЕ СХЕМЫ

42P16

invalid_table_definition

НЕВЕРНОЕ ОПРЕДЕЛЕНИЕ ТАБЛИЦЫ

42P17

invalid_object_definition

НЕВЕРНОЕ ОПРЕДЕЛЕНИЕ ОБЪЕКТА

Класс 44 — Нарушение проверки

44000

with_check_option_violation

НАРУШЕНИЕ ОПЦИИ ПРОВЕРКИ

Класс 53 — Недостаточно ресурсов

53000

insufficient_resources

НЕДОСТАТОЧНОЕ КОЛИЧЕСТВО РЕСУРСОВ

53100

disk_full

ДИСК ПЕРЕПОЛНЕН

53200

out_of_memory

МАЛО ПАМЯТИ

53300

too_many_connections

СЛИШКОМ МНОГО СОЕДИНЕНИЙ

Класс 54 — Превышен лимит программы

54000

program_limit_exceeded

ПРЕВЫШЕН ЛИМИТ ПРОГРАММЫ

54001

statement_too_complex

СЛИШКОМ СЛОЖНОЕ УТВЕРЖДЕНИЕ

54011

too_many_columns

СЛИШКОМ МНОГО СТОЛБЦОВ

54023

too_many_arguments

СЛИШКОМ МНОГО АРГУМЕНТОВ

Класс 55 — Объект не находится в состоянии предпосылки

55000

object_not_in_prerequisite_state

ОБЪЕКТ НЕ НАХОДИТСЯ В СОСТОЯНИИ ПРЕДПОСЫЛКИ

55006

object_in_use

ОБЪЕКТ В ИСПОЛЬЗОВАНИИ

55P02

cant_change_runtime_param

НЕВОЗМОЖНО ИЗМЕНИТЬ ПАРАМЕТР ВРЕМЕНИ ВЫПОЛНЕНИЯ

55P03

lock_not_available

БЛОКИРОВКА НЕДОСТУПНА

Класс 57 — Вмешательство оператора

57000

operator_intervention

ВМЕШАТЕЛЬСТВО ОПЕРАТОРА

57014

query_canceled

ЗАПРОС ОТМЕНЕН

57P01

admin_shutdown

ОТКЛЮЧЕНИЕ АДМИНИСТРАТОРА

57P02

crash_shutdown

АВАРИЙНОЕ ОТКЛЮЧЕНИЕ

57P03

cannot_connect_now

НЕВОЗМОЖНО ПОДКЛЮЧИТЬСЯ

Класс 58 — Системная ошибка (ошибки, внешние по отношению к самому PostgreSQL)

58030

io_error

ОШИБКА ВВОДА-ВЫВОДА

58P01

undefined_file

НЕОПРЕДЕЛЕННЫЙ ФАЙЛ

58P02

duplicate_file

ДУБЛИКАТ ФАЙЛА

Класс F0 — Ошибка файла конфигурации

F0000

config_file_error

ОШИБКА ФАЙЛА КОНФИГУРАЦИИ

F0001

lock_file_exists

СУЩЕСТВУЕТ ФАЙЛ БЛОКИРОВКИ

Класс P0 — Ошибка PL/pgSQL

P0000

plpgsql_error

PLPGSQL ERROR

P0001

raise_exception

ПОДНЯТЬ ИСКЛЮЧЕНИЕ

P0002

no_data_found

НЕ НАЙДЕНЫ ДАННЫЕ

P0003

too_many_rows

СЛИШКОМ МНОГО СТРОК

Класс XX — Внутренняя ошибка

XX000

internal_error

ВНУТРЕННЯЯ ОШИБКА

XX001

data_corrupted

ДАННЫЕ ИСПОРЧЕНЫ

XX002

index_corrupted

ПОВРЕЖДЁННЫЙ ИНДЕКС

Thanks for contributing to pgloader by reporting an
issue! Reporting an issue is the only way we can solve problems, fix bugs,
and improve both the software and its user experience in general.

The best bug reports follow those 3 simple steps:

  1. My command file:
LOAD DATABASE
    FROM mysql://dps:@localhost/XXXXXXX
    INTO postgresql://xxxxx:xxxxx@192.168.xx.xx/XXXXXXX

WITH workers = 4, concurrency = 2;
  1. Results
Heap exhausted during garbage collection: 0 bytes available, 48 requested.
 Gen StaPg UbSta LaSta LUbSt Boxed Unboxed LB   LUB  !move  Alloc  Waste   Trig    WP  GCs Mem-age
   0:     0     0     0     0     0     0     0     0     0        0     0 42949672    0   0  0.0000
   1:     0     0     0     0     0     0     0     0     0        0     0 42949672    0   0  0.0000
   2:     0     0     0     0     0     0     0     0     0        0     0 42949672    0   0  0.0000
   3: 123995 123996     0     0 13084 73279   227     0   226 2817738000 19643120 1271620360    0   1  1.2103
   4: 130992 131071     0     0  5735 28068  6051     0     2 1295775984 10159888  2000000    0   0  0.0000
   5:     0     0     0     0     0     0     0     0     0        0     0  2000000    0   0  0.0000
   6:     0     0     0     0  3437  1191     0     0     0 151650304     0  2000000 3270   0  0.0000
   Total bytes allocated    = 4265164288
   Dynamic-space-size bytes = 4294967296
GC control variables:
   *GC-INHIBIT* = true
   *GC-PENDING* = true
   *STOP-FOR-GC-PENDING* = false
fatal error encountered in SBCL pid 2093(tid 140737042183936):
Heap exhausted, game over.

Welcome to LDB, a low-level debugger for the Lisp runtime environment.

Additionally, further attempts to modify the schema directly with PSQL give the following error:

psql (10.6 (Ubuntu 10.6-0ubuntu0.18.04.1))
Type "help" for help.

xxxxx=# DROP SCHEMA xxxxxxxxx CASCADE;
ERROR:  out of shared memory
HINT:  You might need to increase max_locks_per_transaction.

Additionally, further attempts to preform the load result in the following:

2019-01-17T20:14:35.034000Z NOTICE Starting pgloader, log system is ready.
2019-01-17T20:15:22.600000Z NOTICE Prepare PostgreSQL database.
2019-01-17T20:15:22.606000Z NOTICE DROP SCHEMA xxxxxxxxxxx CASCADE;
2019-01-17T20:15:22.807000Z ERROR Database error 53200: out of shared memory
HINT: You might need to increase max_locks_per_transaction.
QUERY: DROP SCHEMA xxxxxxxxxxxx CASCADE;
2019-01-17T20:15:22.807000Z FATAL Failed to create the schema, see above.
2019-01-17T20:15:22.807000Z LOG report summary reset
       table name       read   imported     errors      total time       read      write
-----------------  ---------  ---------  ---------  --------------  ---------  ---------
  fetch meta data       9908       9908          0         13.231s                     
   Create Schemas          0          0          0          0.000s                     
-----------------  ---------  ---------  ---------  --------------  ---------  ---------
  1. explain how the result is not what you expected.

I have loaded prior versions of the same schema with pgloader without error.
I would expect this schema to work the same.

In the case of pgloader, here’s the information I will need to read in your
bug report. Having all of this is a big help, and often means the bug you
reported can be fixed very efficiently as soon as I get to it.

Please provide the following information:

  • pgloader —version

pgloader version «3.4.1»
compiled with SBCL 1.3.3.debian

and

pgloader version «3.5.2~devel»
compiled with SBCL 1.4.14

Both have the same issue

  • did you test a fresh compile from the source tree?
    Yes
  • did you search for other similar issues?
    Yes
  • how can I reproduce the bug?
    The data is propriety

Понравилась статья? Поделить с друзьями:
  • Postgresql error 42p01 relation does not exist
  • Postgresql error 40001
  • Postgresql error 3d000
  • Postgresql error 28p01
  • Potplayer64 dll is modified or hacked ошибка