|
|||
axel_rich
12.05.16 — 20:22 |
Создаю из консоли администрирования базу… Ошибка СУБД: ERROR: type «mvarchar» does not exist LINE 1: create table Config (FileName mvarchar(128) not null, Creati…^ тут уже было, но решения нет: Установка Postgresql-9.4.2-1.1C + Deabin 8.1 x64 Ubuntu 14.04 x64 postgrsql-9.4.2-1.1C_amd64 (fixed_libicu делал как тут написано http://saradmin.ru/?p=2727) — стал нормально 1C 8.3.7-1970_amd64 — стал нормально У кого такое было? Как решали? |
||
Cyberhawk
1 — 12.05.16 — 20:26 |
«стал» это что-то новенькое… кем/чем он стал? |
||
Pistol
2 — 12.05.16 — 20:37 |
Постгрю-то откуда взял? |
||
DjSpike
3 — 12.05.16 — 20:39 |
сделай pg_drop ИМЯ_БАЗЫ. затем заново pg_create Эту ошибку вроде выдает когда база создана в неправильной кодировке. Могу ошибаться |
||
axel_rich
4 — 12.05.16 — 22:53 |
(2) постгря с сайта 1с (3) это оно так на свежеустановленом постгре ругается, там базы вообще нет ни одной. Пробовал создавать с другим именем — тот же эффект. Попробую посмотреть базы в постгре через пгадмин, отпишусь. |
||
axel_rich
5 — 13.05.16 — 13:06 |
(3) http://i026.radikal.ru/1605/20/f9016c614030.png Таки базы создались… дропнул. Вычистил каталог базы. Проинициализировал с такой строкой /usr/lib/postgresql/9.4/bin/initdb —locale=ru_RU.UTF-8 —lc-collate=ru_RU.UTF-8 —lc-ctype=ru_RU.UTF-8 —encoding=UTF8 -D /mnt/1CBase/ Создал базу средствами 1С (как рекомендуется)… увы, результат тот же 1-в-1 «Ошибка СУБД: ERROR: type «mvarchar» does not exist « |
||
Тролль главный
6 — 13.05.16 — 13:13 |
а патч от 1С установил? |
||
Тролль главный
7 — 13.05.16 — 13:16 |
+(6) http://antizlo.blogspot.ru/2013/05/error-type-mvarchar-does-not-exist-at-character-31.html |
||
axel_rich
8 — 13.05.16 — 13:25 |
(6) хм… ставил из *.deb Их тоже надо патчить? |
||
dmrjan
9 — 13.05.16 — 13:43 |
А чего не отсюда ставил http://www.postgrespro.ru/products/1c_build |
||
axel_rich 10 — 13.05.16 — 18:43 |
(9) Мэн! Спасибо! Все заработало. Добра тебе, денег и пусть тебя по жизни сопровождает «Джек Дэниелс» и три офигительные бразильские чики! Фух, Ура! |
|
Прочитай, хотя бы, Митичкина «Разработка в системе 1С:Предприятие 8». Волшебник |
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку «Обновить» в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Связка сервера 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 часов практики и доступ навсегда.
I have the same issue here, trying to use the thing with project made all required changes to this file renaming UseSqlServer
to UseNpgsql
and changed the connection string as well to poing to my postgres server.
Also I did change the nvarchar
to varchar
in this file
Getting an error Npgsql.PostgresException: '42704: type "nvarchar" does not exist'
in here when app is run
UPDATE: just discovered more migration files having nvarchar
so had to rename to varchar
However now got a new error Npgsql.PostgresException: '42601: syntax error at or near "max"'
and seems like that is what causing an isseue "varchar(max)"
what is the analogue in postgres for that?
Basically just to bypass the error I set it to varchar(mex)
to varchar(2000)
( still wonder how to set max on that ), also had to rename DATETIME2
to TIMESTAMP
so now I am getting System.NullReferenceException: 'Object reference not set to an instance of an object.'
on this line ( that error didnt happend using MSSQL server ) :
foreach (var client in Config.GetClients().ToList())
{
context.Clients.Add(client.ToEntity());
}
context.SaveChanges(); // null ref error here
any thoughts?
just created the repo here with all requred types replaced as I mentinoed above. That is the commit implementing the postgress to the orignial codebase taken from here If you run IdentityServerWithAspIdAndEF
project pointed to PostgreSQL you will get a null ref error
on context.SaveChanges();
Подскажите можно ли на одном сервер (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С:Предприятия необходимо выполнять такой же командной строкой.
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?»
Столкнулся с проблемой удаления одного индекса таблицы в PostgreSQL.
Индекс точно есть, его можно проверить:
SELECT * FROM pg_indexes;
Стандартная команда удаления не срабатывала и я не мог понять почему:
DROP INDEX mytabin;
Вызов этой команды выдавал ошибку:
ERROR: ОШИБКА: индекс "mytabin" не существует
SQL state: 42704
Пришлось повнимательнее рассматривать официальную документацию, чтобы разглядеть в ней возможные причины ошибки.
И да. Мне удалось наткнуться на решение проблемы.
Решение проблемы удаления индекса в PostgreSQL
Индекс в PostgreSQL может не удалять по причине отсутствия схемы данных при обращении к имени самого индекса.
Это значит, что в команде DROP INDEX нужно сначала написать название схемы данных, затем поставить точку и только после точки написать имя индекса.
Ниже пример со схемой данных «scheme1«:
DROP INDEX scheme1.mytabin;
Грустно только то, что интерфейс pgAdmin не подсказывает на возможное отсутствие написания схемы данных и приходится искать решение в сети.
Информационные ссылки
Официальный сайт WEB-оболочки pgAdmin — https://www.pgadmin.org
Официальный сайт СУБД PostgreSQL — https://www.postgresql.org
Создание индекса — Команда CREATE INDEX — https://postgrespro.ru/docs/postgresql/14/sql-createindex
Удаление индекса — Команда DROP INDEX — https://postgrespro.ru/docs/postgresql/14/sql-dropindex
Представление pg_indexes — https://postgrespro.ru/docs/postgresql/14/view-pg-indexes
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 |
I have the same issue here, trying to use the thing with project made all required changes to this file renaming UseSqlServer
to UseNpgsql
and changed the connection string as well to poing to my postgres server.
Also I did change the nvarchar
to varchar
in this file
Getting an error Npgsql.PostgresException: '42704: type "nvarchar" does not exist'
in here when app is run
UPDATE: just discovered more migration files having nvarchar
so had to rename to varchar
However now got a new error Npgsql.PostgresException: '42601: syntax error at or near "max"'
and seems like that is what causing an isseue "varchar(max)"
what is the analogue in postgres for that?
Basically just to bypass the error I set it to varchar(mex)
to varchar(2000)
( still wonder how to set max on that ), also had to rename DATETIME2
to TIMESTAMP
so now I am getting System.NullReferenceException: 'Object reference not set to an instance of an object.'
on this line ( that error didnt happend using MSSQL server ) :
foreach (var client in Config.GetClients().ToList())
{
context.Clients.Add(client.ToEntity());
}
context.SaveChanges(); // null ref error here
any thoughts?
just created the repo here with all requred types replaced as I mentinoed above. That is the commit implementing the postgress to the orignial codebase taken from here If you run IdentityServerWithAspIdAndEF
project pointed to PostgreSQL you will get a null ref error
on context.SaveChanges();