Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье содержатся номера сообщений об ошибках и их описание для проверки предварительной подготовки.
В следующих таблицах представлен полный список кодов ошибок для функции службы миграции в База данных Azure для PostgreSQL. Эти коды ошибок помогают устранять и устранять проблемы во время процесса миграции. Каждый код ошибки содержит сообщение об ошибке и другие сведения, которые предоставляют дополнительные контексты и рекомендации по устранению проблемы.
Время ожидания подключения
Симптомы
Сбои миграции часто проявляются с помощью сообщений об ошибках, указывающих на проблемы с подключением. Эти проблемы могут возникнуть во время процесса передачи данных. При возникновении таких сбоев они приводят к следующим сообщениям об ошибках:
- сервер неожиданно закрыл подключение
- Ошибка SSL SYSCALL: обнаружен конец файла
- непредвиденный EOF при подключении клиента
- не удалось получить данные от клиента: сброс подключения по одноранговой сети
Причина
Основной причиной этих симптомов является connection timeout. Обычно это происходит, когда сервер или клиент ожидает получения данных в течение определенного интервала времени, но данные не отправляются или не получаются, что приводит к истечении времени ожидания подключения. Конкретные причины времени ожидания подключения могут отличаться, но распространенные факторы включают перегрузку сети, неправильно настроенные параметры сети или слишком агрессивные параметры времени ожидания.
В контексте службы миграции в База данных Azure для PostgreSQL время ожидания подключения между источником и службой миграции или между службой миграции и целевым объектом может прервать процесс передачи данных, что приводит к описанным выше симптомам.
Разрешение
Чтобы устранить проблемы с временем ожидания подключения, настройте параметры TCP на исходных и целевых серверах следующим образом:
tcp_keepalives_idle=10tcp_keepalives_interval=10tcp_keepalives_count=60
Эти параметры помогают поддерживать подключение, отправляя пробы хранения, чтобы предотвратить истечение времени ожидания из-за неактивности. Важно, чтобы изменение этих параметров TCP не требовало перезапуска исходных или целевых экземпляров PostgreSQL. Изменения могут применяться динамически, что позволяет обеспечить простое продолжение службы без прерывания операций базы данных.
Завершение подключения из-за времени ожидания простоя в транзакции
Симптомы
- Служба миграции сталкивается с сообщением о завершении подключения.
- Журналы отображают ошибку:
terminating connection due to idle-in-transaction timeout
Причина
Эта ошибка возникает, когда подключение к базе данных остается неактивным в транзакции дольше, чем значение, указанное в параметре idle_in_transaction_timeout . PostgreSQL автоматически завершает такие подключения, чтобы избежать проблем с блокировкой ресурсов.
Разрешение
-
idle_in_transaction_timeoutЗадайте параметру, чтобы0отключить время ожидания во время миграции. - Пример команды для применения этого параметра:
ALTER SYSTEM SET idle_in_transaction_timeout = 0;
- Убедитесь, что этот параметр сбрасывается до исходного значения после миграции для поддержания производительности базы данных и предотвращения длительных бездействий.
Исчерпание общей памяти
Симптомы
Процесс миграции неожиданно останавливается. Журналы отображают ошибку: out of shared memory
Причина
Эта ошибка означает, что PostgreSQL исчерпала общую память, выделенную для блокировок. Обычно происходит, когда процесс миграции включает множество блокировок за пределами текущего параметра max_locks_per_transaction.
Разрешение
- Увеличьте значение
max_locks_per_transactionпараметра для размещения других блокировок, необходимых во время процесса миграции. - Пример команды для изменения этого параметра:
ALTER SYSTEM SET max_locks_per_transaction = <<>>; - Убедитесь, что
max_locks_per_transaction * max_connections > Number of tables + Number of indexes - Если проблема сохранится, попробуйте увеличить параметр shared_buffers, чтобы обеспечить доступ к достаточной общей памяти для управления блокировкой.
Коды ошибок миграции
| Код ошибки | Сообщение об ошибке | Разрешение |
|---|---|---|
| 603000 | Сбой подключения. Не удалось подключиться к серверу {serverName} . Убедитесь, что исходный сервер доступен с целевого или сервера среды выполнения. |
Ознакомьтесь с руководством по сети для отладки проблем с подключением. |
| 603001 | Ошибка конфигурации SSL. Сервер {serverName} не поддерживает SSL. Проверьте параметры SSL. Задайте режим SSL, чтобы предпочесть и повторить миграцию. |
Ознакомьтесь с руководством по сети для отладки проблем с подключением. |
| 603100 | Не удалось пройти проверку подлинности. Неверный пароль для сервера {serverName} . Введите правильный пароль и повторите миграцию. |
Н/П |
| 603101 | База данных существует в целевом объекте. База данных {dbName} существует на целевом сервере. Убедитесь, что целевой сервер не имеет базы данных и повторите миграцию. |
Н/П |
| 603102 | Отсутствует исходная база данных. База данных {dbName} не существует на исходном сервере. Укажите допустимую базу данных и повторите миграцию. |
Н/П |
| 603103 | Отсутствует роль Microsoft Entra. Роль {roleNames} Microsoft Entra отсутствует на целевом сервере. Создайте роль Entra и повторите миграцию. |
Н/П |
| 603104 | Отсутствует роль репликации. У пользователя {0} нет роли репликации на сервере {1}. Предоставьте роль репликации перед повторным переносом. |
Используется ALTER ROLE <rolename> WITH REPLICATION; для предоставления требуемого разрешения. |
| 603105 | Ошибка параметров GUC. Недостаточно слотов репликации на исходном сервере для миграции.
max_replication_slots Увеличьте параметр GUC до {0} или более поздней версии. |
Исходный сервер не имеет достаточных слотов репликации для выполнения миграции через Интернет. Используйте этот запрос SELECT * FROM pg_replication_slots WHERE active = false AND slot_type = 'logical'; , чтобы получить список неактивных слотов репликации и удалить их перед SELECT pg_drop_replication_slot('slot_name'); началом миграции. Кроме того, задайте для параметра {0} сервера "max_replication_slots" значение или более поздней версии. Убедитесь, что max_wal_senders параметр также изменен, чтобы он был больше или равен параметру max_replication_slots' parameter. |
| 603106 | Ошибка параметров GUC. Параметр max_wal_senders GUC имеет значение {0}. Убедитесь, что он соответствует или превышает значение max_replication_slots. |
Н/П |
| 603107 | Ошибка параметров GUC. Для параметра уровня WAL исходного сервера задано {0}значение . Задайте для уровня WAL параметра GUC значение "логический". |
Н/П |
| 603108 | Обязательный список разрешений расширений.
{0} Расширения не удалось установить на целевом сервере, так как они не разрешены. Список разрешений расширений и повторная попытка миграции. |
Задайте список разрешений, выполнив действия, описанные в расширениях PostgreSQL. |
| 603109 | Ошибка конфигурации общих предзагрузок библиотек. Добавьте разрешенные {0} расширения в shared_preload_libraries на целевом сервере и повторите миграцию. |
Задайте общие библиотеки предварительной загрузки, выполнив действия, описанные в расширениях PostgreSQL. Для этого требуется перезапуск сервера. |
| 603110 | Недостаточно привилегий. Пользователь миграции не имеет необходимых разрешений для доступа к базе данных. Убедитесь, что пользователь миграции является владельцем исходных баз данных и имеет права на чтение и запись и повторите миграцию. | Н/П |
| 603111 | Сбой очистки целевой базы данных. Не удается завершить активные подключения в целевой базе данных во время этапа предварительной подготовки. Предоставьте pg_signal_backend роль пользователю миграции и повторите миграцию. | Добавьте роль pg_signal_backend для миграции пользователя с помощью команды GRANT pg_signal_backend в <migration_user>. |
| 603112 | Ошибка параметров GUC. Не удалось задать параметр GUC default_transaction_read_only отключен. Убедитесь, что доступ на запись пользователя правильно задан и повторите миграцию. | Задайте для параметра "default_transaction_read_only" значение OFF на исходном сервере с помощью команды портал Azure или psql(например, ALTER SYSTEM SET default_transaction_read_only = off). |
| 603113 | Сбой переключение. Переключение невозможно инициировать для базы данных "{dbName}", так как миграция уже была с состоянием "Завершено", "Сбой" или "Отменено". | Н/П |
| 603114 | Сбой переключение. Переключение невозможно инициировать для базы данных "{dbName}" для режима миграции в автономном режиме. | Н/П |
| 603115 | Отсутствуют права пользователя. Пользователь миграции "{0}" не является членом azure_pg_admin роли. Добавьте необходимые привилегии на целевом сервере и повторите миграцию. | Н/П |
| 603116 | Отсутствуют права пользователя. У пользователя миграции нет{0} прав на создание роли. Добавьте необходимые привилегии на целевом сервере и повторите миграцию. | Запустите запрос ALTER ROLE <rolename> WITH CREATEROLE; на целевом сервере. |
| 603117 | Отсутствуют права пользователя. Пользователь миграции "{0}" не имеет необходимых привилегий для удаления базы данных "{dbName}" на целевом сервере. Удалите базу данных вручную с целевого сервера и повторите миграцию. | Н/П |
| 603400 | Неподдерживаемая исходная версия. Миграция следующих версий {0} PostgreSQL не поддерживается. |
Необходимо использовать другой метод миграции. |
| 603401 | Несоответствие параметров сортировки. Параметры сортировки {0} в базе данных {1} отсутствуют на целевом сервере. |
Н/П |
| 603402 | Несоответствие параметров сортировки. Параметры сортировки {0} для таблицы {1} в столбце {2} отсутствуют на целевом сервере. |
Обратитесь в службу поддержки Майкрософт, чтобы добавить необходимые параметры сортировки. |
| 603403 | Несоответствие параметров сортировки. Исходная база данных содержит определяемые пользователем параметры сортировки. Удалите эти параметры сортировки и повторите миграцию. | Н/П |
| 603404 | Обнаружены неподдерживаемые идентификаторы OID. Таблицы с идентификаторами WITH, обнаруженными в базе данных {0}. Они не поддерживаются в PostgreSQL версии 12 и более поздних версиях. |
Посетите заметки о выпуске PostgreSQL. |
| 603405 | Неподдерживаемые расширения. Служба миграции не поддерживает миграцию баз данных с {0} расширениями на целевом сервере. |
Н/П |
| 603406 | Неподдерживаемые расширения. Target PostgreSQL {0} поддерживает POSTGIS версии 3.2.3, которая несовместима с исходным кодом {1}. |
Рекомендуется обновить целевой сервер до версии 11. Посетите postGIS критические изменения. |
| 603407 | Ошибка схемы расширения.
{0} Расширения, расположенные в системной схеме на исходном сервере, не поддерживаются на целевом сервере. Удалите и повторно создайте расширения в несистемной схеме, а затем повторите миграцию. |
Посетите расширения PostgreSQL. |
| 603408 | Неподдерживаемые расширения. Целевой сервер версии 16 не поддерживает {0} расширения. Переход на версию 15 или более поздней, а затем обновление после поддержки расширений. |
Н/П |
| 603409 | Определяемые пользователем приведения присутствуют. Исходная база данных {0} содержит определяемые пользователем приведения, которые нельзя перенести на целевой сервер. |
Н/П |
| 603410 | Ошибка разрешения системной таблицы. Пользователи имеют доступ к системным таблицам, таким как pg_authid и pg_shadow, которые нельзя перенести в целевой объект. Отмените эти разрешения и повторите миграцию. | Проверка разрешений по умолчанию, pg_catalog предоставленных таблицам и представлениям (например pg_authid , и pg_shadow) является важным. Однако эти разрешения не могут быть назначены целевому объекту. В частности, пользователь {1} обладает {2} разрешениями, а пользователь {3} содержит {4} разрешения. Для обходного решения посетите пользователя, роли и разрешения |
| 603413 | Неподдерживаемые языки. Служба миграции не поддерживает миграцию баз данных с языками {0} на целевом сервере. Удалите языки и ее реализованные функции. |
Целевой сервер не поддерживает неподдерживаемые языки. Попробуйте отключить или удалить соответствующий язык на исходном сервере перед переносом на целевой сервер. |
| 603700 | Сбой очистки целевой базы данных. Не удается завершить активные подключения в целевой базе данных во время этапа предварительной миграции или после миграции. | Н/П |
| 603701 | Внутренняя ошибка сервера. Не удалось создать роли на целевом сервере. | Обратитесь в службу поддержки Майкрософт для дальнейшего анализа. |
| 603702 | Внутренняя ошибка сервера. Не удалось дампа ролей с исходного сервера. | Обратитесь в службу поддержки Майкрософт для дальнейшего анализа. |
| 603703 | Внутренняя ошибка сервера. Не удалось изменить глобальный файл дампа ролей. | Обратитесь в службу поддержки Майкрософт для дальнейшего анализа. |
| 603704 | Внутренняя ошибка сервера. Не удалось сделать все исходные роли членом целевого пользователя миграции. | Обратитесь в службу поддержки Майкрософт для дальнейшего анализа. |
| 603705 | Внутренняя ошибка сервера. Не удалось восстановить гранты и отмены. | Обратитесь в службу поддержки Майкрософт для дальнейшего анализа. |
| 603706 | Внутренняя ошибка сервера. Не удалось очистить пользователя миграции целевого сервера. Целевой пользователь миграции может быть частью нескольких ролей. Удалите все ненужные роли из пользователя миграции целевого сервера и повторите миграцию. | Обратитесь в службу поддержки Майкрософт для дальнейшего анализа. |
| 603707 | Внутренняя ошибка сервера. Не удалось предоставить azure_pg_admin пользователю администратора исходного сервера. | Обратитесь в службу поддержки Майкрософт для дальнейшего анализа. |
| 603708 | Внутренняя ошибка сервера. Не удалось изменить владельца общедоступной схемы на azure_pg_admin в базе данных "{dbName}". Измените владельца общедоступной схемы на azure_pg_admin вручную и повторите миграцию. | Обратитесь в службу поддержки Майкрософт для дальнейшего анализа. |
| 603709 | Не удалось выполнить настройку миграции. | Обратитесь в службу поддержки Майкрософт для дальнейшего анализа. |