I am using pgProvider on a MVC3 Mono application and had no issues on Windows Postgres 9.2. I am migrating to my production Linux/Mono environment, and received an error when attempting to access the provider:
"42704: language "plpgsql" does not exist"
I am using postgreSQL 8.4 on CentOS 6.3
I looked at some info, and ran the following:
createlang -d dbname plpgsql
When I run it again, it affirms that the database is already there.
I restarted postgresql and my app. However, I still get the above error.
Does anyone have any info on why I would still receive an «plpgsql does not exist — after it is installed?»
asked Apr 30, 2013 at 14:30
2
In general this sort of error is an indication that something is not as you expect and you need to challenge your assumptions.
Please note that languages do not require restarting the database server to take effect on any version of PostgreSQL. Also note that what languages are allowed in PostgreSQL is a per-db catalog entry (languages, unlike users and roles, are not cluster-global).
So in troubleshooting this, you need to start with:
-
Is this the right db? The right server?
-
Is my application connecting to the same db/server I think it is?
Given that createlang affirms that the language exists after you run it, this can’t be an issue with PostgreSQL raising a phony error. Instead it must be a problem with the changes you made not affecting the database your application is using.
answered Jun 1, 2013 at 1:12
Chris TraversChris Travers
25.5k6 gold badges66 silver badges183 bronze badges
1
Hi Laurenz, I’m running postgresql under ubuntu and i’m trying migration with oracle_fdw but I stopped facing an issue creating a foreign table. Could You help me?
I compiled oracle_fwd 1.5 (2.0 was giving me dependencies issues) and succesfully installed extension on my ubuntu.
Following instructions I create the foreign server:
CREATE SERVER oradb FOREIGN DATA WRAPPER oracle_fdw OPTIONS (dbserver '//10.10.20.100:1521/GDBT');
I granted user postgres:
GRANT USAGE ON FOREIGN SERVER oradb TO postgres;
then I created user mapping:
CREATE USER MAPPING FOR postgres SERVER oradb OPTIONS (user 'UTENTE', password 'pwd');
now I’m trying to create a foreing table:
CREATE FOREIGN TABLE test
(oid integer NOT NULL,id varchar(80),lon numeric,lat numeric,h numeric,descr varchar(80),job varchar(80),shape geometry(Point,3003))
SERVER oradb OPTIONS (table 'TEST');
but i’m getting the following error:
ERROR: server "oradb" does not exist
SQL state: 42704
What am I doing wrong?
note1: I can retrieve foreign server by;
SELECT srvname,srvoptions FROM pg_foreign_server;
getting:
oradb {dbserver=//10.10.20.100:1521/GDBT}
and foreign connection detail:
SELECT oracle_diag('oradb')
getting:
oracle_fdw 1.5.0, PostgreSQL 9.3.4, Oracle client 12.2.0.1.0, Oracle server 11.2.0.4.0
note2: I can succefully connect to oracle by sqlplus:
sqlplus UTENTE/pwd@//10.10.20.100:1521/GDBT
having access to TEST table:
SQL> desc TEST
Name Null? Type
----------------------------------------- -------- ----------------------------
OBJECTID NOT NULL NUMBER(38)
ID NVARCHAR2(80)
LON NUMBER(38,8)
LAT NUMBER(38,8)
H NUMBER(38,8)
DESC_ NVARCHAR2(80)
JOB NVARCHAR2(80)
SHAPE SDE.ST_GEOMETRY
note3: I’m currently using other foreign tables with postgres_fdw extension
Связка сервера 1С:Предприятие и PostgreSQL вторая по популярности среди установок 1С и самое используемое решение на платформе Linux. В отличии внедрений на базе Windows и MSSQL, где трудно сделать так, чтобы не заработало, внедрения на базе Linux таят множество подводных камней для неопытного администратора. Часто бывает так, что вроде бы все сделано правильно, но ошибка следует за ошибкой. Сегодня мы рассмотрим самые типовые из них.
Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.
Общая информация
Перед тем, как начинать искать ошибки установки и, вообще, приступать к внедрению серверной версии 1С:Предприятия было бы неплохо освежить представление как это работает:
Сервер 1С Предприятия. Часть 1 — Общие вопросы.
В небольших внедрениях сервер 1С и сервер СУБД обычно совмещают на одном физическом сервере, что немного сужает круг возможных ошибок. В нашем случае будет рассматриваться ситуация, когда сервера разнесены по разным машинам. В нашей тестовой лаборатории мы развернули следующую схему:
В нашем распоряжении имеются два сервера под управлением Ubuntu 12.04 x64, на одном из них установлен сервер 1С:Предприятие версии 8.3, на другом PostgreSQL 9.04 от Ethersoft, а также клиент под управлением Windows. Напоминаем, что клиент работает только с сервером 1С, который, в свою очередь, формирует необходимые запросы к серверу СУБД. Никаких запросов от клиента к серверу управления базами данных не происходит.
Сервер баз данных не обнаружен
ВАЖНО: пользователь «postgres» не прошёл проверку подлинности (Ident)
Данная ошибка возникает при разнесении серверов по разным ПК из-за неправильно настроеной проверки подлинности в локальной сети. Для устранения откройте /var/lib/pgsql/data/pg_hba.conf, найдите строку:
host all all 192.168.31.0/24 ident
и приведите ее к виду:
host all all 192.168.31.0/24 md5
где 192.168.31.0/24 — диапазон вашей локальной сети. Если такой строки нет, ее следует создать в секции IPv4 local connections.
Сервер баз данных не обнаружен
could not translate host name «NAME» to address: Temporary failure in name resolution
На первый взгляд ошибка понятна: клиент не может разрешить имя сервера СУБД, типичная ошибка для небольших сетей, где отсутствует локальный DNS-сервер. В качестве решения добавляют запись в файл hosts на клиенте, что не дает никакого результата…
А теперь вспоминаем, о чем было сказано несколько раньше. Клиентом сервера СУБД является сервер 1С, но никак не клиентский ПК, следовательно запись нужно добавлять на сервере 1С:Предприятие в файл /etc/hosts на платформе Linux или в C:WindowsSystem32driversetchosts на платформе Windows.
Аналогичная ошибка будет возникать, если вы забыли добавить запись типа A для сервера СУБД на локальном DNS-сервере.
Ошибка при выполнении операции с информационной базой
server_addr=NAME descr=11001(0x00002AF9): Этот хост неизвестен.
Как и прошлая, эта ошибка связана с неправильным разрешением клиентом имени сервера. На этот раз именно клиентским ПК. В качестве решения добавляем в файл /etc/hosts на платформе Linux или в C:WindowsSystem32driversetchosts на платформе Windows запись вида:
192.168.31.83 SRV-1C-1204
где указываете адрес и имя вашего сервера 1С:Предприятия. В случае использования локального DNS следует добавить A-запись для сервера 1С.
Ошибка СУБД: DATABASE не пригоден для использования
Гораздо более серьезная ошибка, которая говорит о том, что вы установили несовместимую с 1С:Предприятие версию PostgreSQL или допустили грубые ошибки при установке, например не установили все необходимые зависимости, в частности библиотеку libICU.
Если вы имеете достаточный опыт администрирования Linux систем, то можете попробовать доустановить необходимые библиотеки и заново инициализировать кластер СУБД. В противном случае PostgreSQL лучше переустановить, не забыв удалить содержимое папки /var/lib/pgsql.
Также данная ошибка может возникать при использовании сборок 9.1.x и 9.2.x Postgre@Etersoft, подробности смотрите ниже.
Ошибка СУБД:
ERROR: could not load library «/usr/lib/x86_64-linux-gnu/postgresql/fasttrun.so»
Довольно специфичная ошибка, характерная для сборок 9.1.x и 9.2.x Postgre@Etersoft, также может приводить предыдущей ошибке. Причина кроется в неисправленной ошибке в библиотеке fasttrun.so. Решение — откатиться на сборку 9.0.x Postgre@Etersoft.
Ошибка СУБД
ERROR: type «mvarchar» does not exist at character 31
Возникает если база данных была создана без помощи системы 1С:Предприятия. Помните, для работы с 1С базы данных следует создавать только с использованием инструментов платформы 1С: через консоль Администрирование серверов 1С Предприятия
или через средство запуска 1С.
Сервер баз данных не обнаружен
ВАЖНО: пользователь «postgres» не прошёл проверку подлинности (по паролю)
Очень простая ошибка. Неправильно указан пароль суперпользователя СУБД postgres. Вариантов решения два: вспомнить пароль или изменить его. Во втором случае вам нужно будет изменить пароль в свойствах всех существующих информационных баз через оснастку Администрирование серверов 1С Предприятия.
Сервер баз данных не обнаружен
FATAL: database «NAME» does not exist
Еще одна очень простая ошибка. Смысл ее сводится к тому, что указанная БД не существует. Чаще всего возникает из-за ошибки в указании имени базы. Следует помнить, что информационная база 1С в кластере и база данных СУБД — две разные сущности и могут иметь различные имена. Также следует помнить, что Linux системы чувствительны к регистру и для них unf83 и UNF83 два разных имени.
Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.
Подскажите можно ли на одном сервер (ubuntu12.04) запустить несколько версий сервера 1с.
Ситуация следующая на данный момент стоит 1с сервер 83, с малым количеством людей работал стабильно, но сейчас пользователей стало в два раза больше и сервер странно себя ведёт, то напроч стопорится, помогает очистка папки временных файлов 1с либо просто его перезапуск.
На сервер две базы бух30 и Торговля10, вот хочу разделить чтобы бух30 работали на 83, а торговля10 работали через 82.
как я понимаю нужно менять порт через:
Код: Выделить всё
/opt/1C/v8.2/x86_64/rmngr -port 1541
/opt/1C/v8.2/x86_64/rphost -range 1560:1591
но хотелось бы узнать точно как прально сделать, так как сервер рабочий и для экспериментов времени небудет
PS. установлена версия 8.3.4.496, новое релизи ведут себя еще хуже.
РЕШЕНИЕ:
http://chistov.spb.ru/forum/33-958-1
в /etc/init.d/srv1cv8* для изменения портов выставляю следующие параметры:
Код: Выделить всё
SRV1CV8_PORT=7540 SRV1CV8_REGPORT=7541 SRV1CV8_RANGE=7560:7691
http://its.1c.ru/db/metod8dev/content/3413/hdoc
Запуск экземпляра сервера 1С:Предприятия как сервис в Linux
В процессе установки 1С:Предприятия под Linux создается стартовый скрипт /etc/init.d/srv1cv82, запускающий сервер 1С:Предприятия от имени пользователя в режиме демона. При этом сервер будет использовать стандартные порты. Если на компьютере уже работает экземпляр сервера с такими же портами, то запуск вновь установленного сервера закончится аварийно. Чтобы его запустить с другими портами необходимо:
Открыть окно командной строки и удалить каталог кластера. Обычно это каталог «/home/usr1cv82/.1cv82». Например:
Копировать в буфер обмена
Любым текстовым редактором отредактировать конфигурационный файл /etc/sysconfig/srv1cv82, если для установки использовался RPM-дистрибутив, или файл /etc/init.d/srv1cv82, если использовался DEB-дистрибутив. В этом файле необходимо раскомментировать (удалив начальный символ «#») и изменить значения одного или нескольких нижеперечисленных параметров:
SRV1CV8_KEYTAB
SRV1CV8_PORT
SRV1CV8_REGPORT
SRV1CV8_RANGE
SRV1CV8_DEBUG
SRV1CV8_DATA
SRV1CV8_SECLEV
Запуск экземпляра сервера 1С:Предприятия как приложение в Linux
Если агент сервера 1С:Предприятия не регистрировался как сервис, то он может быть запущен как приложение. Для запуска агента сервера как приложения на нестандартных портах необходимо:
Завершить работу экземпляра сервера, нажав Ctrl+C в его консольном окне.
Удалить содержимое каталога реестра кластера. Обычно это подкаталог «.1cv82» домашнего каталога пользователя, из-под которого запускается сервер 1С:Предприятя. Например:
Копировать в буфер обмена
Если ранее агент сервера 1С:Предприятия запускался как приложение без указания каталога реестра кластера (параметр -d), то реестр кластера располагается в каталоге «/home/пользователь/.1cv82». При замене значений портов содержимое этого каталога необходимо удалить.
Перейти в каталог бинарных файлов 1С:Предприятия. Например:
Копировать в буфер обмена
Запустить агента сервера 1С:Предприятия с новыми значениями портов:
Копировать в буфер обмена
Код: Выделить всё
./ragent -port 2040 -regport 2041 -range 2060:2091 -d "/home/user/srvinfo" -debug
Последующие запуски этого экземпляра сервера 1С:Предприятия необходимо выполнять такой же командной строкой.
Ошибки при работе с СУБД не являются редкостью, и иногда они могут вызывать достаточно большие проблемы в разработке системы. Одна из таких ошибок, связанная с PostgreSQL, когда возникает сообщение «42704 type mvarchar does not exist».
Она указывает на то, что тип данных «mvarchar» не существует в системе. Данная ошибка может возникнуть в различных ситуациях, например, при создании таблицы или изменении столбца с данным типом данных. Чтобы решить эту проблему, существует несколько подходов.
Во-первых, стоит проверить, что вы правильно указали тип данных при создании таблицы или изменении столбца. Возможно, вы ошиблись в написании, и на самом деле хотели использовать другой тип данных, например, «varchar» или «text». Если так, то исправьте ошибку и повторите операцию.
Если же вы уверены, что «mvarchar» — это действительно нужный тип данных, то возможно, проблема заключается в том, что он не был правильно установлен или отсутствует в системе. В этом случае, потребуется установить соответствующее расширение или модуль, чтобы СУБД могла распознавать и использовать данный тип данных.
Содержание
- Определение ошибки
- Поиск и устранение причины
- Использование альтернативных типов данных
- Тестирование и проверка исправления
- 1. Проверка работы базы данных
- 2. Тестирование приложения
- 3. Проверка целостности данных
- 4. Тестирование сценариев с ошибками
- 5. Тестирование совместимости
Определение ошибки
Ошибка субд 42704 «type mvarchar does not exist» возникает, когда в базе данных, используемой субд, пытается быть создан или использован тип данных, который не существует.
Когда мы создаем или изменяем структуру таблицы в базе данных, мы указываем тип данных для каждого столбца. Но иногда может случиться так, что мы опишем тип данных, который не поддерживается субд.
В данном случае ошибка указывает на то, что тип данных «mvarchar» не существует. Возможно, это опечатка или ошибка при создании или изменении таблицы.
При возникновении ошибки субд 42704 необходимо проверить типы данных, которые используются в таблице, и убедиться, что они существуют и правильно написаны.
Если ошибка остается, необходимо обратиться к документации субд или обратиться за помощью к специалистам, которые могут проанализировать причины возникновения ошибки и предложить решение.
Поиск и устранение причины
Если вы столкнулись с ошибкой «42704 type mvarchar does not exist» в СУБД, то вам следует выполнить ряд действий для ее поиска и устранения. Ниже приведены шаги, которые помогут вам разрешить эту проблему:
- Проверьте правильность написания запроса: Проверьте, что запрос написан правильно и все имена таблиц, столбцов и типы данных указаны корректно. Убедитесь, что вы используете правильные имена объектов и синтаксис запроса соответствует требованиям СУБД.
- Обновите СУБД: Убедитесь, что у вас установлена последняя версия СУБД. В некоторых случаях, ошибка может возникать из-за устаревшей версии СУБД, в которой некоторые типы данных могут быть недоступны.
- Проверьте наличие необходимых расширений: Узнайте, требует ли ваш запрос использования каких-либо расширений или модулей. Убедитесь, что они установлены и корректно настроены в вашей СУБД.
- Проверьте наличие необходимых прав доступа: Проверьте, имеете ли вы достаточные права для выполнения нужных операций в СУБД. Убедитесь, что ваш пользователь имеет все необходимые привилегии на выполнение запроса.
- Проверьте логи системы: Исследуйте логи СУБД, чтобы найти возможные ошибки или предупреждения, связанные с вашим запросом. Это может помочь вам определить причину возникновения ошибки и найти способ ее устранения.
- Обратитесь к документации: Обратитесь к документации СУБД, чтобы узнать больше о типе данных, который вызывает ошибку. Возможно, в документации есть рекомендации по устранению таких проблем.
- Консультируйтесь с сообществом: Если вы не можете найти решение самостоятельно, обратитесь к сообществу разработчиков или поддержке СУБД. Они могут помочь вам определить причину ошибки и предложить решение.
Следуя этим шагам, вы сможете найти и устранить причину ошибки «42704 type mvarchar does not exist» в СУБД и вернуть вашу систему в рабочее состояние.
Использование альтернативных типов данных
При работе с СУБД (системами управления базами данных) может возникнуть ошибка, связанная с отсутствием типа данных в базе данных. Одна из таких ошибок — «42704 type mvarchar does not exist». Она говорит о том, что в базе данных отсутствует тип данных ‘mvarchar’.
Если вы столкнулись с такой ошибкой, есть несколько способов ее исправить. Один из этих способов — использование альтернативных типов данных.
Вместо отсутствующего типа данных ‘mvarchar’ можно использовать другой тип данных, который является альтернативой.
Например, вместо типа данных ‘mvarchar’ можно использовать тип данных ‘text’. Тип данных ‘text’ позволяет хранить текстовые значения переменной длины.
Для изменения типа данных в таблице базы данных нужно выполнить следующие действия:
- Выполнить резервное копирование базы данных, чтобы в случае ошибки можно было восстановить данные.
- Изменить тип данных столбца, в котором используется ‘mvarchar’, на тип данных ‘text’. Например, можно использовать SQL-команду ALTER TABLE:
ALTER TABLE tableName ALTER COLUMN columnName TYPE text;
Где tableName — имя таблицы, в которой находится столбец с типом данных ‘mvarchar’, а columnName — имя этого столбца.
После выполнения этой команды тип данных столбца будет изменен на ‘text’.
Таким образом, использование альтернативных типов данных может помочь исправить ошибку «42704 type mvarchar does not exist». Вместо отсутствующего типа данных ‘mvarchar’ можно использовать альтернативный тип данных, например, ‘text’.
Тестирование и проверка исправления
После того как вы примените исправление для ошибки субд 42704 «type mvarchar does not exist», необходимо выполнить тестирование и проверку работоспособности изменений. В этом разделе я расскажу о том, как это сделать.
1. Проверка работы базы данных
Первым делом необходимо убедиться, что ошибка больше не возникает и база данных функционирует корректно. Проверьте работу всех запросов и функций, которые используют тип данных mvarchar.
2. Тестирование приложения
Далее следует протестировать работу вашего приложения, которое использует эту базу данных. Выполните все основные действия и операции, чтобы убедиться, что ошибок не возникает и приложение работает без сбоев.
3. Проверка целостности данных
Также важно проверить целостность данных после внесенных изменений. Убедитесь, что все данные в базе остались неизменными, не были повреждены или удалены.
4. Тестирование сценариев с ошибками
Для полной уверенности в исправлении проблемы, стоит также протестировать сценарии, которые ранее вызывали ошибку. Попробуйте повторить действия, которые приводили к появлению ошибки, и убедитесь, что ошибка больше не возникает.
5. Тестирование совместимости
Не забудьте протестировать совместимость вашей базы данных с другими системами или приложениями, которые на нее построены. Убедитесь, что после внесенных изменений все продукты, интегрированные с вашей базой данных, также продолжают работать корректно.
В процессе тестирования и проверки исправления ошибки субд 42704 типа «mvarchar does not exist» рекомендуется записывать все шаги и результаты, чтобы иметь возможность отслеживать и анализировать процесс исправления.
Шаг | Действие | Ожидаемый результат | Фактический результат | Примечание |
---|---|---|---|---|
1 | Проверить работу запроса SELECT | Выводятся корректные данные | OK | — |
2 | Выполнить операцию INSERT | Запись добавляется в базу данных | OK | — |
3 | Выполнить операцию DELETE | Запись удаляется из базы данных | OK | — |
4 | Выполнить операцию UPDATE | Запись в базе данных изменяется | OK | — |
Таким образом, тестирование и проверка исправления ошибки субд 42704 «type mvarchar does not exist» поможет убедиться в корректности внесенных изменений и гарантировать работоспособность базы данных и приложения.
Error Code | Condition Name |
---|---|
Class 00 — Successful Completion | |
00000 |
successful_completion |
Class 01 — Warning | |
01000 |
warning |
0100C |
dynamic_result_sets_returned |
01008 |
implicit_zero_bit_padding |
01003 |
null_value_eliminated_in_set_function |
01007 |
privilege_not_granted |
01006 |
privilege_not_revoked |
01004 |
string_data_right_truncation |
01P01 |
deprecated_feature |
Class 02 — No Data (this is also a warning class per the SQL standard) | |
02000 |
no_data |
02001 |
no_additional_dynamic_result_sets_returned |
Class 03 — SQL Statement Not Yet Complete | |
03000 |
sql_statement_not_yet_complete |
Class 08 — Connection Exception | |
08000 |
connection_exception |
08003 |
connection_does_not_exist |
08006 |
connection_failure |
08001 |
sqlclient_unable_to_establish_sqlconnection |
08004 |
sqlserver_rejected_establishment_of_sqlconnection |
08007 |
transaction_resolution_unknown |
08P01 |
protocol_violation |
Class 09 — Triggered Action Exception | |
09000 |
triggered_action_exception |
Class 0A — Feature Not Supported | |
0A000 |
feature_not_supported |
Class 0B — Invalid Transaction Initiation | |
0B000 |
invalid_transaction_initiation |
Class 0F — Locator Exception | |
0F000 |
locator_exception |
0F001 |
invalid_locator_specification |
Class 0L — Invalid Grantor | |
0L000 |
invalid_grantor |
0LP01 |
invalid_grant_operation |
Class 0P — Invalid Role Specification | |
0P000 |
invalid_role_specification |
Class 0Z — Diagnostics Exception | |
0Z000 |
diagnostics_exception |
0Z002 |
stacked_diagnostics_accessed_without_active_handler |
Class 20 — Case Not Found | |
20000 |
case_not_found |
Class 21 — Cardinality Violation | |
21000 |
cardinality_violation |
Class 22 — Data Exception | |
22000 |
data_exception |
2202E |
array_subscript_error |
22021 |
character_not_in_repertoire |
22008 |
datetime_field_overflow |
22012 |
division_by_zero |
22005 |
error_in_assignment |
2200B |
escape_character_conflict |
22022 |
indicator_overflow |
22015 |
interval_field_overflow |
2201E |
invalid_argument_for_logarithm |
22014 |
invalid_argument_for_ntile_function |
22016 |
invalid_argument_for_nth_value_function |
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 |
22023 |
invalid_parameter_value |
22013 |
invalid_preceding_or_following_size |
2201B |
invalid_regular_expression |
2201W |
invalid_row_count_in_limit_clause |
2201X |
invalid_row_count_in_result_offset_clause |
2202H |
invalid_tablesample_argument |
2202G |
invalid_tablesample_repeat |
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 |
2200H |
sequence_generator_limit_exceeded |
22026 |
string_data_length_mismatch |
22001 |
string_data_right_truncation |
22011 |
substring_error |
22027 |
trim_error |
22024 |
unterminated_c_string |
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 |
2200L |
not_an_xml_document |
2200M |
invalid_xml_document |
2200N |
invalid_xml_content |
2200S |
invalid_xml_comment |
2200T |
invalid_xml_processing_instruction |
22030 |
duplicate_json_object_key_value |
22031 |
invalid_argument_for_sql_json_datetime_function |
22032 |
invalid_json_text |
22033 |
invalid_sql_json_subscript |
22034 |
more_than_one_sql_json_item |
22035 |
no_sql_json_item |
22036 |
non_numeric_sql_json_item |
22037 |
non_unique_keys_in_a_json_object |
22038 |
singleton_sql_json_item_required |
22039 |
sql_json_array_not_found |
2203A |
sql_json_member_not_found |
2203B |
sql_json_number_not_found |
2203C |
sql_json_object_not_found |
2203D |
too_many_json_array_elements |
2203E |
too_many_json_object_members |
2203F |
sql_json_scalar_required |
2203G |
sql_json_item_cannot_be_cast_to_target_type |
Class 23 — Integrity Constraint Violation | |
23000 |
integrity_constraint_violation |
23001 |
restrict_violation |
23502 |
not_null_violation |
23503 |
foreign_key_violation |
23505 |
unique_violation |
23514 |
check_violation |
23P01 |
exclusion_violation |
Class 24 — Invalid Cursor State | |
24000 |
invalid_cursor_state |
Class 25 — Invalid Transaction State | |
25000 |
invalid_transaction_state |
25001 |
active_sql_transaction |
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 |
25006 |
read_only_sql_transaction |
25007 |
schema_and_data_statement_mixing_not_supported |
25P01 |
no_active_sql_transaction |
25P02 |
in_failed_sql_transaction |
25P03 |
idle_in_transaction_session_timeout |
Class 26 — Invalid SQL Statement Name | |
26000 |
invalid_sql_statement_name |
Class 27 — Triggered Data Change Violation | |
27000 |
triggered_data_change_violation |
Class 28 — Invalid Authorization Specification | |
28000 |
invalid_authorization_specification |
28P01 |
invalid_password |
Class 2B — Dependent Privilege Descriptors Still Exist | |
2B000 |
dependent_privilege_descriptors_still_exist |
2BP01 |
dependent_objects_still_exist |
Class 2D — Invalid Transaction Termination | |
2D000 |
invalid_transaction_termination |
Class 2F — SQL Routine Exception | |
2F000 |
sql_routine_exception |
2F005 |
function_executed_no_return_statement |
2F002 |
modifying_sql_data_not_permitted |
2F003 |
prohibited_sql_statement_attempted |
2F004 |
reading_sql_data_not_permitted |
Class 34 — Invalid Cursor Name | |
34000 |
invalid_cursor_name |
Class 38 — External Routine Exception | |
38000 |
external_routine_exception |
38001 |
containing_sql_not_permitted |
38002 |
modifying_sql_data_not_permitted |
38003 |
prohibited_sql_statement_attempted |
38004 |
reading_sql_data_not_permitted |
Class 39 — External Routine Invocation Exception | |
39000 |
external_routine_invocation_exception |
39001 |
invalid_sqlstate_returned |
39004 |
null_value_not_allowed |
39P01 |
trigger_protocol_violated |
39P02 |
srf_protocol_violated |
39P03 |
event_trigger_protocol_violated |
Class 3B — Savepoint Exception | |
3B000 |
savepoint_exception |
3B001 |
invalid_savepoint_specification |
Class 3D — Invalid Catalog Name | |
3D000 |
invalid_catalog_name |
Class 3F — Invalid Schema Name | |
3F000 |
invalid_schema_name |
Class 40 — Transaction Rollback | |
40000 |
transaction_rollback |
40002 |
transaction_integrity_constraint_violation |
40001 |
serialization_failure |
40003 |
statement_completion_unknown |
40P01 |
deadlock_detected |
Class 42 — Syntax Error or Access Rule Violation | |
42000 |
syntax_error_or_access_rule_violation |
42601 |
syntax_error |
42501 |
insufficient_privilege |
42846 |
cannot_coerce |
42803 |
grouping_error |
42P20 |
windowing_error |
42P19 |
invalid_recursion |
42830 |
invalid_foreign_key |
42602 |
invalid_name |
42622 |
name_too_long |
42939 |
reserved_name |
42804 |
datatype_mismatch |
42P18 |
indeterminate_datatype |
42P21 |
collation_mismatch |
42P22 |
indeterminate_collation |
42809 |
wrong_object_type |
428C9 |
generated_always |
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 |
Class 44 — WITH CHECK OPTION Violation | |
44000 |
with_check_option_violation |
Class 53 — Insufficient Resources | |
53000 |
insufficient_resources |
53100 |
disk_full |
53200 |
out_of_memory |
53300 |
too_many_connections |
53400 |
configuration_limit_exceeded |
Class 54 — Program Limit Exceeded | |
54000 |
program_limit_exceeded |
54001 |
statement_too_complex |
54011 |
too_many_columns |
54023 |
too_many_arguments |
Class 55 — Object Not In Prerequisite State | |
55000 |
object_not_in_prerequisite_state |
55006 |
object_in_use |
55P02 |
cant_change_runtime_param |
55P03 |
lock_not_available |
55P04 |
unsafe_new_enum_value_usage |
Class 57 — Operator Intervention | |
57000 |
operator_intervention |
57014 |
query_canceled |
57P01 |
admin_shutdown |
57P02 |
crash_shutdown |
57P03 |
cannot_connect_now |
57P04 |
database_dropped |
57P05 |
idle_session_timeout |
Class 58 — System Error (errors external to PostgreSQL itself) | |
58000 |
system_error |
58030 |
io_error |
58P01 |
undefined_file |
58P02 |
duplicate_file |
Class 72 — Snapshot Failure | |
72000 |
snapshot_too_old |
Class F0 — Configuration File Error | |
F0000 |
config_file_error |
F0001 |
lock_file_exists |
Class HV — Foreign Data Wrapper Error (SQL/MED) | |
HV000 |
fdw_error |
HV005 |
fdw_column_name_not_found |
HV002 |
fdw_dynamic_parameter_value_needed |
HV010 |
fdw_function_sequence_error |
HV021 |
fdw_inconsistent_descriptor_information |
HV024 |
fdw_invalid_attribute_value |
HV007 |
fdw_invalid_column_name |
HV008 |
fdw_invalid_column_number |
HV004 |
fdw_invalid_data_type |
HV006 |
fdw_invalid_data_type_descriptors |
HV091 |
fdw_invalid_descriptor_field_identifier |
HV00B |
fdw_invalid_handle |
HV00C |
fdw_invalid_option_index |
HV00D |
fdw_invalid_option_name |
HV090 |
fdw_invalid_string_length_or_buffer_length |
HV00A |
fdw_invalid_string_format |
HV009 |
fdw_invalid_use_of_null_pointer |
HV014 |
fdw_too_many_handles |
HV001 |
fdw_out_of_memory |
HV00P |
fdw_no_schemas |
HV00J |
fdw_option_name_not_found |
HV00K |
fdw_reply_handle |
HV00Q |
fdw_schema_not_found |
HV00R |
fdw_table_not_found |
HV00L |
fdw_unable_to_create_execution |
HV00M |
fdw_unable_to_create_reply |
HV00N |
fdw_unable_to_establish_connection |
Class P0 — PL/pgSQL Error | |
P0000 |
plpgsql_error |
P0001 |
raise_exception |
P0002 |
no_data_found |
P0003 |
too_many_rows |
P0004 |
assert_failure |
Class XX — Internal Error | |
XX000 |
internal_error |
XX001 |
data_corrupted |
XX002 |
index_corrupted |