Database не пригоден для использования 1с postgresql
Типовые ошибки установки сервера 1С:Предприятие и PostgreSQL на платформе Linux.
Связка сервера 1С:Предприятие и PostgreSQL вторая по популярности среди установок 1С и самое используемое решение на платформе Linux. В отличии внедрений на базе Windows и MSSQL, где трудно сделать так, чтобы не заработало, внедрения на базе Linux таят множество подводных камней для неопытного администратора. Часто бывает так, что вроде бы все сделано правильно, но ошибка следует за ошибкой. Сегодня мы рассмотрим самые типовые из них.
Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.
Общая информация
Перед тем, как начинать искать ошибки установки и, вообще, приступать к внедрению серверной версии 1С:Предприятия было бы неплохо освежить представление как это работает:
В небольших внедрениях сервер 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
А теперь вспоминаем, о чем было сказано несколько раньше. Клиентом сервера СУБД является сервер 1С, но никак не клиентский ПК, следовательно запись нужно добавлять на сервере 1С:Предприятие в файл /etc/hosts на платформе Linux или в C:\Windows\System32\drivers\etc\hosts на платформе Windows.
Аналогичная ошибка будет возникать, если вы забыли добавить запись типа A для сервера СУБД на локальном DNS-сервере.
Ошибка при выполнении операции с информационной базой
server_addr=NAME descr=11001(0x00002AF9): Этот хост неизвестен.
где указываете адрес и имя вашего сервера 1С:Предприятия. В случае использования локального DNS следует добавить A-запись для сервера 1С.
Ошибка СУБД: DATABASE не пригоден для использования
Если вы имеете достаточный опыт администрирования 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"
Ошибка СУБД
ERROR: type "mvarchar" does not exist at character 31
или через средство запуска 1С.
Сервер баз данных не обнаружен
ВАЖНО: пользователь "postgres" не прошёл проверку подлинности (по паролю)
Сервер баз данных не обнаружен
FATAL: database "NAME" does not exist
Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.
Будет любопытно почитать про сравнение с CentOS. Я правда везде ставил postgresql на Ubuntu из дефолтной репы или ppa, и проблем с тормозами никогда не имел, в том числе на 1с.
Извините, но заголовок слабо релевантный к содержимому материала. Заголовок «Устанавливаем базу pgsql под 1c» был бы куда корректней чем текущий. Если речь идет о сравнении производительности — то нужны таблицы и данные, профайлинг, то что вы описываете — это лишь литературное изложение ваших догадок. Не обижайтесь на комментарий, поработайте над статьей.
Видимо, вместо сохранения в черновики опубликовал статью в песочнице. Так как статья уже прочитана немало раз, поменял заголовок. Соглашаюсь что материал нуждается в доработке но, к сожалению, пока не нахожу врмени для объединения собранного материала. Скажу лишь что в итоге у меня все работает на CentOS, 8 баз от 2-х до 70 ГБ, 30 клиентов. Пока все стабилььно. Аптайм сервера с момента установки ОС. Служба 1С правда падает с периодичностью 1-3 раза в неделю из-за переполнения памяти. Пока не нашел с чем это связано.
Переполнение памяти это косяки в платформе 1С очень частые, правда бывают что выпускают платформу без утечки памяти. Тут только вариант обновлять платформу по выходу новых и как только найдется оптимальное, максимальное возможное время сидеть на ней!
либо 30 клиентов фигня, либо отсутствие лицензии. Ибо под линуксом 1с держит без ключа (или с неправильно установленным/настроенным ключем) только 12 соединений к серверу и характерный признак этого — как раз невозможность использования нескольких рабочих процессов у сервера.
Также интересно влияние ядра 3.10, по которому в анонсе обещался рост в тестах pgbench в 2 раза.
У 1с специфичные патчи применены. Конкретно не знаю, что там, но вроде механизм автовакуума переработан и еще что-то…
Я пробовал запускать 1С на репозиторном PostgreSQL. Было познавательно, но безрезультатно.
Для начала при попытке штатными средствами создать новую базу в кластере выдает ошибку «DATABASE не пригоден для использования». При попытке развернуть дамп базы созданный ранее с помощью pg_dump выдает ошибку отсутствия функции mchar().
Анализ показал, что патченный 1C-ом PostgreSQL отличается от обычного библиотеками mchar.so, fulleq.so и fasttrun.so. Я взял и явно перенес их в каталог /usr/lib/postgresql/9.1/lib/ После этого базы стали создаваться из кластера и дамп с помощью psql тоже стал ложиться без ошибок. Но сюрприз уже поджидал в содержимом данных: все ссылочные поля светились как «Объект не найден», а даты стали нулевыми. При попытке развернуть *.dt вываливалась ошибка: «ERROR: timestamp out of range». Гугление показалось, что все кто пытался использовать непропатченную СУБД сталкивались с подобной проблемой.
привет коллеги
после обновления с 8.3.16 до 8.3.18.1128 c базами на postgrespro 12.1 получил "Ошибка СУБД: DATABASE не пригоден для использования.", в логах постгреса пусто.
проверил работу 8.3.18 с базами на postgres9.6 все работает.
Откатился до 8.3.16 и с postgrespro 12.1 все заработало.
пока собираем стенд для поиска решения, если кто знает как решить, буду очень признателен
PostgreSQL 12.5
PostgreSQL 12.4
PostgreSQL 12.3
PostgreSQL 11.10
PostgreSQL 11.9
PostgreSQL 11.8
PostgreSQL 11.7
PostgreSQL 11.5
Если при попытки создать баз данных 1С на PostgreSQL
появляется ошибка: DATABASE не пригоден для использования
В файле настроек сервера (в windows он находится********\postgresql.conf)
разкомментируем и отредактируем следующие строки:
backslash_quote = on
escape_string_warning = off
standart_conforming_strings = off
Перезапускаем конфигурацию, должно работать.
(3)
а вы чистую базу создавали ?
1.средствами 1с
2.постгресом
в общем решение найдено и если кратно, то установка 12.4.1 поверх 12.1 решила проблему и проверено 8.3.16 и 8.3.18 работают с 12.4.1
интересно что
- 8.3.16 + 12.1 работает
- 8.3.18 + 12.1 НЕ работает
- 8.3.18 + 12.4.1 после обновлением работает
- 8.3.18 + с той же базой после обновления с откатом субд до 12.1 РАБОТАЕТ!, но при этом вновь создаваемые базы не работают.
вероятно изменения касаются самой структуры таблиц база данных
еще немного потестируем и будем планировать обновление рабочего сервера
(6)Это не решение, а удачное стечение обстоятельств.
Данная ошибка может возникать, если поставили постргес на нестандартном порту.
Для подключения к базе или при создании новой базы надо писать в имени сервера конструкцию типа такой:
localhost port=5433
(7) хммм не соглашусь, проблема повторилась еще несколько раз, и каждый раз этот подходи привел к ее решению, а значит это вполне себе решение )
darkultro37: Не совсем по теме, но решение использовать 8.3.18 принципиально? Первый релиз в новой ветке всегда был сыроватым.
Под «Окнами» «Слона» водили… Когда файловая БД 1С вырастает и начинает тормозить, встает вопрос по переводу базы на SQL, безусловно, лидеры и самые используемые при настройке SQL баз на 1С это ПО Microsoft SQL Server и PostgerSQL, (прочие IBM DB2 и Oracle Datebase), но жирный плюс в сторону PostgerSQL, что она условно бесплатная, в отличие от цены на MSSQL.
"максимальное число клиентских подключений" - логично подумать сколько человек будет работать столько и делать, можно с большим запасом, укажите 100 это не критический параметр.
(8) Нет потому что уже стоит в 80% случаев, по крайней мере в нашем случае. от 12,16 я думаю отличий в плане настройки нет.
(8) Я бы ответил: "Да, именно поэтому". Все беды серверов от кривых обновлений, к безопасности имеют мало значения, а 2008 - самый вменяемый из всей имеющейся на данный момент линейки.
А чем не нравятся сборки от postgrespro ? там и под все платформы есть и "вынь" и linux а так + PGTune
Все так кроме:
work_mem — Считается так: ОЗУ / 32..64 — в нашем случае получается 512Gb. - многовато.
(0) Автор статья конечно полезная, но новизны в ней мало (кроме указания последних версий и багов) и полноты тоже. Если хочешь могу подробнее расписать, т.к. по твоей статье только что установил все.
Чето из статьи непойму - каким образом 1С будет знать что ей надо отправлять свои данные в postrge БД buh3 а не самой писать в свою фаловую БД? Каким образом 1С приконнекчена к postgre? Из статьи выходит что никак
(16) Тип СУБД - выбор на какой платформе у вас будет работать ваша база (MSSQL, PostgeSQL, IBM DB2, Oracle DateBase)
От себя добавлю, что на Windows 10 нужно указать в переменной PATH путь к каталогу, где лежит initdb, иначе не взлетит.
Объясните пожалуйста - сколько статей подобных читаю, все предлагают коннектиться к базе данных пользователем postgres!
Но ведь это же всё-равно, что работать в винде из под админа, в линуксе из под root - это не секурно!
Так почему все плюют на это?
Как правильно создать под постгресом пользователя, и назначить права ему такие, чтобы при указании этого пользователя при попытке создании базы через 1С не выдавалось "DATABASE не пригоден для использования"?
Специалисты - отзовитесь.
(20)
ник у вас конечно. или вы думаете оно ничего вам не принесет ?
DATABASE не пригоден для использования
это не от пользователя, а от несоответствия 1с и слона ( версии)
у меня попадались такие ошибки, но как вспомню, как вычищать постгрес
пароли папки , так вздрогну :)
еще и при мысли, что следующая может не подойти.
люди ставят разные слоники и попадают на разные проблемы или их отсутствие
(20)Можно завести отдельные учетные записи пользователя СУБД хоть для каждой базы, а с их правами можно поэкспериментировать по аналогии , почитав в документации о правах доступа.
(20) Тоже попался на эту ошибку. Поставил уже два постгри 11.5 и 11.7, платформы попробовал поменять 8_3_16_1224 и 8_3_17_1549. Ничего не помогло.
(27)что-то получилось итогом? тоже на ней завис.а "коннектиться к базе данных пользователем postgres" не помогает?
(20) разберись в вопросе. Postgres - это не учетка, под которой подключаются ВСЕ пользователи. Под этой учеткой сервер 1С подключается к БД. Сервер 1С - это служба, не имеющая окон. Потому на безопасность сервера напрямую не влияет. Единственное узкое место - это пароль учетки postgres, который хранится у сервера 1С. Но если ограничить доступ обычных пользователей к папке srvinfo, то этот пароль никто не получит.
Скажите, для 64-разрядной 1С, нужен и ключ на сервер 1с - 64бит?
у нас сервер покупался еще 8.0, и 32 бит, будет ли работать?
Все таки подскажите кто в курсе, что лучше для скажем 5-8 бухгалтеров ставить - MS SQL Express или Postgree?
Что напрягает в файловой версии - то что база рушится если например комп с базой неожиданно перезагрузить..
Если Postgree то сильно ли повлияет если его поставить прямо на том же сервере с 1С Сервером на Windows или все таки значительно лучше например сделать виртуалку на той же машине где сервер 1С и туда уже Linux с Postgree?
(29)
MS SQL Express не поддерживается, только MS SQL, а он стоит денег
От разрушения базы: рэйд-массив. От неожиданной перезагрузки: уменьшение возможностей этой перезагрузки (отключение софтовой перезагрузки кроме как через командную строну, отключение кнопки перезагрузки, ИБП)
Если рассматривается вариант "побюджетнее": 1Ссервер (85т.р.) + Debian10 (беспл) + PostgreSQL (беспл)
MSSQL Express это тот же MSSQL, только с ограничениями, главное из которых - на размер базы в 10 гигабайт. Во всём остальном экспресс отлично работает с 1с.
(33) Первая причина перевода базы с файла в SQL это ее размер и скорость работы. поэтому 10 Гб для базы 1с 8 это слёзы.
(34) Если речь о ЗУП или БП - то нужно много лет, чтобы база приблизилась к этой границе. Да, в рознице или в мелкооптовой торговле база пухнет быстрее.
поменял пгадмину язык (стоял инглишь). теперь не запускается. сперва выдавал типа ошибки 500, теперь службу не запускат.
Такой вопросец, была серверная 1с на postgresql система Ubuntu 18. Система померла и воскрешению не подлежит, но я смог вытащить папки main и main2. Если я накачу новую систему, заново установлю постгре и серверную 1с, а потом просто заменю файлы, у меня заработает база? Или мои надежды тщетны?
Или какие ещё есть выходы?
Устанавливать дистрибутив PostgreSQL 13 будем специально собранный для 1С сервера из репозитория фирмы PostgreSQL, а значит скачивать их с сайта 1с не нужно, но можно.
Обновляем систему
Установка локалей
Сначала необходимо настроить локаль
Ничего делать не нужно просто кликаем “ок”.
Установка libicu
Установка PostgreSQL 13
Установка утилиты, которая позволяет работать с шифрованными данными, ключами, сертификатами
Устанавливаем postgres 13
Соглашаемся и продолжаем установку.
Проверим статус postgresql
Видим, что postgresql работает.
Зададим пароль пользователя postgres
‘password’ – Ваш пароль, должно вернуть ALTER ROLE
Установка сервера 1С
Установка набора программ для чтение и редактирования
sudo apt-get install imagemagick
Установим диспетчер драйверов для ODBC
sudo apt-get install unixodbc
Установка набора шрифтов Microsoft
sudo apt-get install ttf-mscorefonts-installer
sudo apt-get install libgsf-1-114
Во время установки ttf-mscorefonts-installer, принимаем соглашение
Cкачиваем с сайта 1С все необходимые файлы (Cервер 1С:Предприятия (64-bit) для DEB-based Linux-систем), я скачал deb64_8_3_16_1296.tar и распокавал.
Загружаем файлы платформы на виртуальный сервер, я это делаю с помощью утилиты WinSCP.
Создадим в папке root, каталог deb1c и загружаем пакеты сервера 1с
Изменим владельца каталог
Важно проверить файлы файлы /etc/hosts или C:\Windows\System32\drivers\etc\hosts и добавить строки
Пробуем добавить сервер на локальном компьютере в консоль администрирования.
Читайте также: