Database не пригоден для использования postgresql

Database не пригоден для использования postgresql

Технический блог специалистов ООО"Интерфейс"

  • Главная
  • Типовые ошибки установки сервера 1С:Предприятие и PostgreSQL на платформе Linux.

Типовые ошибки установки сервера 1С:Предприятие и PostgreSQL на платформе Linux.

  • Автор: Уваров А.С.
  • 22.05.2014

Связка сервера 1С:Предприятие и PostgreSQL вторая по популярности среди установок 1С и самое используемое решение на платформе Linux. В отличии внедрений на базе Windows и MSSQL, где трудно сделать так, чтобы не заработало, внедрения на базе Linux таят множество подводных камней для неопытного администратора. Часто бывает так, что вроде бы все сделано правильно, но ошибка следует за ошибкой. Сегодня мы рассмотрим самые типовые из них.

Общая информация

Перед тем, как начинать искать ошибки установки и, вообще, приступать к внедрению серверной версии 1С:Предприятия было бы неплохо освежить представление как это работает:

В небольших внедрениях сервер 1С и сервер СУБД обычно совмещают на одном физическом сервере, что немного сужает круг возможных ошибок. В нашем случае будет рассматриваться ситуация, когда сервера разнесены по разным машинам. В нашей тестовой лаборатории мы развернули следующую схему:

В нашем распоряжении имеются два сервера под управлением Ubuntu 12.04 x64, на одном из них установлен сервер 1С:Предприятие версии 8.3, на другом PostgreSQL 9.04 от Ethersoft, а также клиент под управлением Windows. Напоминаем, что клиент работает только с сервером 1С, который, в свою очередь, формирует необходимые запросы к серверу СУБД. Никаких запросов от клиента к серверу управления базами данных не происходит.

Сервер баз данных не обнаружен
ВАЖНО: пользователь "postgres" не прошёл проверку подлинности (Ident)

Данная ошибка возникает при разнесении серверов по разным ПК из-за неправильно настроеной проверки подлинности в локальной сети. Для устранения откройте /var/lib/pgsql/data/pg_hba.conf, найдите строку:

и приведите ее к виду:

где 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 запись вида:

где указываете адрес и имя вашего сервера 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 два разных имени.

Ошибки, обнаруживающие себя при работе с программными продуктами, чаще всего лишают возможности пользоваться ими. А отсутствие специальных знаний для понимания алгоритмов работы порождают ещё и невозможность диагностики и исправления возникающих сбоев . В этой статье обратим взгляд на проблему «Сервер 1С:Предприятия не обнаружен, как исправить запуск агент-сервера?».

Читайте также:  1 Миллион дней это сколько лет

Вам лучше пройти следующий контрольный список, чтобы исправить проблему «отказался от соединения». Проверьте, действительно ли имя целевой машины. В этой ситуации это возможно из-за неверного запроса клиента. Но не беспокойтесь, потому что, если это случилось с вами, или это происходит с вами, всего за 5 шагов вы сможете это решить.

Теперь мы приступим к решению этой ошибки, но посмотрим, потому что важно правильно установить и ввести все цифры. Там мы идем! Процедура проста, она заполняет поля только этими цифрами. Но если у вас есть сомнения, не стесняйтесь оставлять комментарий. Помог ли этот учебник? Исправлена ​​ли ошибка?

Устранить проблему в работе 1С можно несколькими способами.

Возникающие ошибки имеют различную подноготную, рассортировать их можно по уровням возникновения:

  • Неправильное прописывание кодов разработчиками самой один-эски;
  • Ошибки, допущенные программистами, которые дорабатывают (изменяют) продукт применительно к требованиям (задачам) конкретного пользователя;
  • Сбои, вызванные погрешностями работы кэш-памяти, чаще всего ставящие в тупик программистов;

Что касается ошибки «сервер 1С:Предприятия не обнаружен», то её нереально отнести к одному из названных, так как подобное уведомление является указанием пользователю на невыполнение определённого необходимого действия для работы программы.

Принцип минимальной привилегии

У вас должно быть некоторое знакомство с установками операционной системы и командной строкой. Чтобы полностью понять концепции этого урока, вы должны были следовать за сопроводительным учебником «.». Для загрузки определенных пакетов программного обеспечения, используемых в учебнике, также требуется подключение к Интернету. По-настоящему безопасная сеть гарантирует, что принцип минимального привилегирования применяется к предприятию, а не только к серверам. Функции, выполняемые серверами и рабочими столами, также определяют, как следует защищать операционную систему, компьютер.

Исправляемся — запускаем сервер

Итак — ситуация, которой посвящена эта публикация возникает в том случае, когда служба агент-сервера или отключена, или остановлена. Отметим, что, как правило, причины этого остаются невыясненными (кто ж признается).

Рабочий стол может быть привлекательным местом для сценария для детей, чьи атаки всегда затрудняются с помощью современных программных и вредоносных сканеров, но центр обработки данных с учетными записями пользователей или информацией о кредитных картах является гораздо более привлекательной целью для квалифицированного хакера Что может использовать недостатки без обнаружения в среде, которая не была защищена.

Несколько вариантов поиска ошибок и решений

Защита сервера сильно отличается от защиты настольного компьютера по разным причинам. По умолчанию устанавливается настольная операционная система, обеспечивающая пользователю среду, которая может запускаться автоматически. Настольные операционные системы продаются с предпосылкой, что они требуют минимальной настройки и загружаются с максимально возможным количеством приложений, которые могут быть запущены и запущены пользователем. И наоборот, серверная операционная система должна следовать принципу минимального привилегирования, который утверждает, что для выполнения задач, за которые он несет ответственность, должен быть только сервисы, программное обеспечение и разрешения.

Эта служба запускается двояко — либо как приложение, либо как служба. Посмотрим, как это делать в обоих случаях:

Как приложение

Чтобы запустить её в виде приложения, выполняется команда:

При этом указываются (в своих настройках) порт, диапазоны портов, уровень и каталог. Если эти параметры не указывать, то их значения будут программой установлены «по умолчанию».

Пересмотр неизменяемых законов безопасности

Существуют две версии этих законов: одна для пользователей и одна для системных администраторов. За эти годы эти законы были рассмотрены и проигнорированы людьми в сегменте рынка безопасности. Несмотря на некоторые негативные отзывы, 10 законов для администраторов могут служить отличной основой для защиты любой системы, если она применяется правильно.

Ошибка субд: database не пригоден для использования

Во-первых, следующий закон применяется к общим правилам безопасности: Безопасность работает только в том случае, если безопасный способ также является простым способом. Это самый важный закон для любого системного администратора. Лучший пример связан с паролями.

Связка сервера 1С:Предприятие и PostgreSQL вторая по популярности среди установок 1С и самое используемое решение на платформе Linux. В отличии внедрений на базе Windows и MSSQL, где трудно сделать так, чтобы не заработало, внедрения на базе Linux таят множество подводных камней для неопытного администратора. Часто бывает так, что вроде бы все сделано правильно, но ошибка следует за ошибкой. Сегодня мы рассмотрим самые типовые из них.

Исправляемся — запускаем сервер

Требование, чтобы пользователи помнили пароль, состоящий из 15 символов заглавными буквами, строчными буквами, цифрами и символами, должны просить высокий процент пользователей вводить свой пароль в пост-он и помещать его на свой монитор. Четыре закона Калпа применимы непосредственно к материалу, описанному в этом уроке.

Планирование установки сервера

Если вы не будете в курсе последних исправлений безопасности, ваша сеть не будет долгой. В качестве системного администратора вам необходимо убедиться, что ваша система обновлена. Безопасность не в том, чтобы избегать рисков; Это связано с управлением рисками. Факты случаются. Может быть эпидемия вредоносного ПО, или на ваш сайт может быть атакована. Или что-то совершенно вне вашего контроля может случиться, как стихийное бедствие. В тот или иной момент безопасность вашей системы будет проверена. Убедитесь, что вы сделали все возможное, чтобы защитить свою систему и устранить угрозу таким образом, чтобы ваш сервер и ресурсы были доступны для пользователей, которые полагаются на них. Технология — это не средство, способное вылечить все болезни. Если есть закон, который должны знать все те, кто работает с технологией, вот и все. Простое бросание большего количества технологий в проблему безопасности не решит ее.

  • Хакеры обнаруживают уязвимости каждый день.
  • Но это приводит к разнице между защитой рабочего стола и защитой сервера.
  • Наблюдение — это то, что защищает вашу систему.
Читайте также:  Couldn t load plugin как исправить

Для использования вашего сервера определяется, какие службы должны быть установлены на сервере.

Общая информация

Перед тем, как начинать искать ошибки установки и, вообще, приступать к внедрению серверной версии 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 на клиенте, что не дает никакого результата.

После выполнения шагов по предотвращению вторжений вам необходимо настроить систему мониторинга, чтобы определить, была ли установлена ​​атака на ваш сервер. Затем, если вас предупреждают об атаке, лучше всего подготовиться к ней заранее. В следующих разделах описаны шаги по установке и настройке двух программ, которые помогают обнаружить вторжения.

Ошибка при выполнении операции с информационной базойserver_addr=NAME descr=11001(0x00002AF9): Этот хост неизвестен

Затем он сообщает о любых аномалиях по этой базовой линии через оповещение по электронной почте или через журнал. По сути, если системные двоичные файлы были изменены, вы узнаете об этом. Если законная установка вызывает такое изменение, нет никаких проблем.

Читайте также:  Hp pavilion dv6 3056er драйвера

А теперь вспоминаем, о чем было сказано несколько раньше. Клиентом сервера СУБД является сервер 1С, но никак не клиентский ПК, следовательно запись нужно добавлять на сервере 1С:Предприятие в файл /etc/hosts на платформе Linux или в на платформе Windows.

Аналогичная ошибка будет возникать, если вы забыли добавить запись типа A для сервера СУБД на локальном DNS-сервере.

Но если двоичные файлы изменены в результате установки трояна или руткита, у него есть отправная точка для поиска атаки и устранения проблем. Вы можете выполнить запуск базы данных, введя. Эта базовая линия будет использоваться для проверки критических изменений файлов. Если такое изменение будет обнаружено, будет отправлено предупреждение. Вы можете выполнить проверку целостности в любое время, выполнив следующие шаги.

Вы получите отчет, который будет сохранен в каталоге отчетов. . Для этой программы требуется сервер электронной почты, работающий в вашей сети, для отправки журналов по электронной почте. Чтобы отправить журналы по электронной почте себе, введите. Нажатие отправляет копию отчета на указанный адрес электронной почты.

Ошибка при выполнении операции с информационной базой
server_addr=NAME descr=11001(0x00002AF9): Этот хост неизвестен.

Как и прошлая, эта ошибка связана с неправильным разрешением клиентом имени сервера. На этот раз именно клиентским ПК. В качестве решения добавляем в файл /etc/hosts на платформе Linux или в C:WindowsSystem32driversetchosts на платформе Windows запись вида:

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

Пользовательский уровень определяет пользователя, который создал файл или каталог, уровень группы определяет группу, в которой находится пользователь, а другой уровень для любого пользователя вне группы пользователей. Разрешения файла — чтение, запись и выполнение. . Вы можете применить числовое значение к каждому разрешению. Таким образом, если пользователь может читать, писать и выполнять, вы включаете соответствующие номера 4, 2 и 1 для общей суммы следующих групповых разрешений. Например, другие члены группы пользователей могут иметь возможность читать и выполнять, но не писать.

где указываете адрес и имя вашего сервера 1С:Предприятия. В случае использования локального DNS следует добавить A-запись для сервера 1С.

Ошибка СУБД: DATABASE не пригоден для использования

Гораздо более серьезная ошибка, которая говорит о том, что вы установили несовместимую с 1С:Предприятие версию PostgreSQL или допустили грубые ошибки при установке, например не установили все необходимые зависимости, в частности библиотеку libICU .

Если вы имеете достаточный опыт администрирования Linux систем, то можете попробовать доустановить необходимые библиотеки и заново инициализировать кластер СУБД. В противном случае PostgreSQL лучше переустановить, не забыв удалить содержимое папки /var/lib/pgsql .

Также данная ошибка может возникать при использовании сборок 9.1.x и 9.2.x [email protected] , подробности смотрите ниже.

Ошибка СУБД:
ERROR: could not load library "/usr/lib/x86_64-linux-gnu/postgresql/fasttrun.so"

Довольно специфичная ошибка, характерная для сборок 9.1.x и 9.2.x [email protected] , также может приводить предыдущей ошибке. Причина кроется в неисправленной ошибке в библиотеке fasttrun.so. Решение — откатиться на сборку 9.0.x [email protected] .

Ошибка СУБД
ERROR: type "mvarchar" does not exist at character 31

Возникает если база данных была создана без помощи системы 1С:Предприятия. Помните, для работы с 1С базы данных следует создавать только с использованием инструментов платформы 1С: через консоль

или через средство запуска 1С.

Сервер баз данных не обнаружен
ВАЖНО: пользователь "postgres" не прошёл проверку подлинности (по паролю)

Очень простая ошибка. Неправильно указан пароль суперпользователя СУБД postgres. Вариантов решения два: вспомнить пароль или изменить его. Во втором случае вам нужно будет изменить пароль в свойствах всех существующих информационных баз через оснастку Администрирование серверов 1С Предприятия .

Сервер баз данных не обнаружен
FATAL: database "NAME" does not exist

Еще одна очень простая ошибка. Смысл ее сводится к тому, что указанная БД не существует. Чаще всего возникает из-за ошибки в указании имени базы. Следует помнить, что информационная база 1С в кластере и база данных СУБД — две разные сущности и могут иметь различные имена. Также следует помнить, что Linux системы чувствительны к регистру и для них unf83 и UNF83 два разных имени.

1. Останавливаем сервис postgresql.

Пуск — Выполнить, вводим services.msc и жмём Enter. Находим PostgreSQL Database Server, кликаем правой кнопкой мыши, и нажимаем Остановить.

Выбираем диск, на который необходимо перенести базы. Например диск E. На этом диске создаём папку PostgreSQLdata. В эту папку копируем содержимое папки, которая создалась по умолчанию при установке PostgreSQL — C:Program Files (x86)PostgreSQL9.1.2-1.1Cdata.

3. Меняем путь к базам в реестре Windows.

Пуск — Выполнить, вводим regedit и жмём Enter.

В редакторе реестра переходим к ключу HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicespgsql-9.1.2-1.1C и открываем для изменения строковой параметр ImagePath. В нем меняем путь к базам.

Старый путь обычно выглядит так — «C:Program Files (x86)PostgreSQL9.1.2-1.1Cinpg_ctl.exe» runservice -w -N «pgsql-9.1.2-1.1C» -D «C:Program Files (x86)PostgreSQL9.1.2-1.1Cdata»

Параметр -D указывает на директорию где хранятся наши базы, поэтому меняем ее на — «E:PostgreSQLdata»

То есть полная строка будет выглядеть примерно так — «C:Program Files (x86)PostgreSQL9.1.2-1.1Cinpg_ctl.exe» runservice -w -N «pgsql-9.1.2-1.1C» -D «E:PostgreSQLdata»

escape_string_warning = off
standart_conforming_strings = off

Ссылка на основную публикацию
Adblock detector