Ошибки СУБД. 1С+PostgreSQL+Linux. Часть 2.
Ошибка СУБД:
Продолжение сообщения может быть различным:
DATABASE не пригоден для использования
Пример полного текста ошибки:
1 |
Ошибка при выполнении операции с информационно базой по причине: Ошибка СУБД: DATABASE не пригоден для использования |
Описание ошибки:
База не запускается после установки и создания.
Решения:
Установим версию предназначенную для работы с 1С:Предприятием. Скачать такую можно с сайта 1С (при наличии купленного ИТС и открытого доступа), или приобрести у PostgresPro.
Либо проверим все ли зависимости были установлены. И установим недостающие.
ERROR: type «tt7» already exists
Пример полного текста ошибки:
1 2 3 4 5 |
Ошибка СУБД: ERROR: type «tt7» already exists HINT: A relation has an associated type of the same name, so you must use a name that doesn't conflict. |
Описание:
Данная ошибка является «плавающей» и может возникать в различных местах
Решение:
Выгрузим и загрузим базу данных средствами 1С:Предприятия(через файл *.dt).
ERROR: could not read block
1 |
Ошибка при выполнении операции с информационно базой по причине: Ошибка СУБД: ERROR: could not read block ... in file "" Input/output error |
Описание ошибки:
База не запускается. Разрушились диски.
Решения:
Переносим базу на другую дисковую систему.
Разворачиваем из резервной копии.
Не удалось запустить сервер PostgreSQL
Пример полного текста ошибки:
1 |
Не удалось привязаться к адресу. Адрес уже используется. Возможно порт 5432 занят другим процессом postmaster? Система БД выключена.Не удалось запустить сервер. |
Описание:
Такая ситуация часто случается у начинающих администраторов в случае, если они хотят инициализировать сервер в каталог отличный от каталога по умолчанию. При этом сервер уже запустили из каталога по умолчанию.
В этой ситуации при попытке запуска видно ошибку – сервер не запускается.
А при проверке состояния видно, что сервер работает.
1 |
netstat –tlnp | grep 5432 |
Если проверим запущенные процессы пользователя postgres, то можно увидеть, что порт 5432 занят кластером PostgreSQL, только запущенным из каталога по умолчанию.
Решение:
Остановим работающий кластер сервера СУБД.
1 |
/opt/pgpro/ent-10/bin/pg_ctl --locale=ru_RU.UTF-8 -D /var/lib/pgpro/ent-10/data stop |
Инициализируем кластер из нового каталога(если он не инициализирован).
1 |
/opt/pgpro/ent-10/bin/initdb --locale=ru_RU.UTF-8 -D /pgpro/pgdata |
Запустим из нового каталога.
1 |
/opt/pgpro/ent-10/bin/pg_ctl --locale=ru_RU.UTF-8 -D /pgpro/pgdata start |
Длительный запуск 1С:Предприятия при работе с СУБД PostgreSQL
Описание:
Длительный запуск, длительный захват объектов в хранилище, длительное сохранение конфигурации 1С:Предприятия.
Решение:
Такая проблема может быть связано с настройками СУБД PostgreSQL.
Рассчитаем настройки СУБД.
Описание настроек приведено на ИТС.
Выполним настройки, для этого перейдем в терминал psql:
1 |
psql |
Через psql установим параметры командой ALTER SYSTEM SET(параметры необходимо указать для вашей СУБД):
Пример настроек:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 |
ALTER SYSTEM SET shared_buffers = '96GB'; ALTER SYSTEM SET effective_cache_size = '288GB'; ALTER SYSTEM SET maintenance_work_mem = '20GB'; ALTER SYSTEM SET wal_buffers = '16MB'; ALTER SYSTEM SET default_statistics_target = 100; ALTER SYSTEM SET random_page_cost = 1.1; ALTER SYSTEM SET effective_io_concurrency = 200; ALTER SYSTEM SET work_mem = '10GB'; ALTER SYSTEM SET max_worker_processes = 44; ALTER SYSTEM SET max_parallel_workers_per_gather = 22; ALTER SYSTEM SET temp_buffers = '265MB'; ALTER SYSTEM SET wal_level = 'replica'; ALTER SYSTEM SET max_replication_slots = '8'; ALTER SYSTEM SET max_wal_senders = '32'; ALTER SYSTEM SET autovaccuum = 'on'; ALTER SYSTEM SET autovaccuum_max_workers = 16; ALTER SYSTEM SET autovacuum_naptime = '20s'; ALTER SYSTEM SET bgwriter_delay = '20ms'; ALTER SYSTEM SET bgwriter_lru_multiplier = 4.0; ALTER SYSTEM SET bgwriter_lru_maxpages = 400; ALTER SYSTEM SET synchronous_commit = 'off'; ALTER SYSTEM SET checkpoint_segments = 256; ALTER SYSTEM SET checkpoint_completion_target = 0.9; ALTER SYSTEM SET min_wal_size = '4GB'; ALTER SYSTEM SET max_wal_size = '8GB'; ALTER SYSTEM SET ssl = 'off'; ALTER SYSTEM SET max_files_per_process = 1000; ALTER SYSTEM SET standard_conforming_strings = 'off'; ALTER SYSTEM SET escape_string_warning = 'off'; ALTER SYSTEM SET max_locks_per_transaction = 256; ALTER SYSTEM SET max_connections = 15000; |
Из файла *xlsx загружаются в 1С иероглифы/ в файл выгружаются иероглифы.
Описание ошибки:
При загрузке данных из файла *.xlsx в 1С отображаются иероглифы. Используемая СУБД PostgreSQL/PostgresPro.
Также возможна проблема с кодировкой в выгружаемом файле из 1С:
Решение:
На сервере СУБД проверим и выполним настройку локали.
1. Проверим наличие локали:
1 |
locale -a | grep ru_RU |
2. Проверим переменную:
1 |
echo $LANG |
Корректное значение результатов выполнения команд 2, 3:
1 |
ru_RU.UTF-8 |
3. Если результат не соответствует, выполним:
1 |
export LANG="ru_RU.UTF-8" |
4. Выполним:
1 |
localectl set-locale LANG=ru_RU.utf8 |
5. Выполним перезапуск серверов СУБД
1 |
reboot |
Еще можно посмотреть
Похожие записи
- Подключение репозитория под ОС Linux
- Ошибка 1С:Предприятие «Потеряно соединение»
- Что такое PG_TEMP в PostgreSQL для 1С
- НАСТРОЙКА PG_PROFILE ДЛЯ POSTGRESQL 1.
- Статистика PostgreSQL при работе с 1С:Предприятием
- Очистка кэша: серверного и клиентского для 1С:Предприятия
- Настройка непрерывного архивирования (point-in-time-recovery, PITR) в PostgresPro 11 Linux
- Пропажа индексов дескрипторов в 1С:Документообороте
- 1C тормозит и возникают ошибки. С чего начать расследование?
- Анализ технологического журнала 1С регулярными выражениями. От простого к сложному.