Ошибка при создании информационной базы на postgresql

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

Одна из распространенных ошибок — «Сервер баз данных не обнаружен…».

Продолжение данного сообщения может быть различным:

  1. 1. Could not translate host name «NAME» to address: Temporary failure in name resolution

    2. ВАЖНО: пользователь «postgres» не прошёл проверку подлинности (Ident)

    3. ВАЖНО: в pg_hba.conf нет записи для компьютера «», пользователя «usr1cv8», базы «template»

    4. Is the server running on host and accepting TCP/IP connections on port 5432?

    5. «Породить новый процесс для соединения не удалось: Ресурс временно недоступен» или «ВАЖНО: извините, уже слишком много клиентов.»

    6. FATAL: database «base» does not exist

Далее рассмотрим подробнее каждую ошибку.

Could not translate host name «NAME» to address: Temporary failure in name resolution

Пример полного текста ошибки:

Сервер баз данных не обнаружен

could not translate host name «NAME» to address: Temporary failure in name resolution

Описание:

Ошибка может возникать как при создании базы, так и при запуске информационной базы.

Решение:

Настроим DNS-адресацию или пропишем адреса в файл hosts. Обратите внимание, что в данном случае проблема в том, что на сервере 1С нет информации о доменном имени сервера СУБД PostgreSQL. Подробнее о DNS — Настройка DNS-адресации для 1С сервера.

ВАЖНО: пользователь «postgres» не прошёл проверку подлинности (Ident)

Пример полного текста ошибки:

Сервер баз данных не обнаружен

ВАЖНО: пользователь «postgres» не прошёл проверку подлинности (Ident)

Описание: Ошибка возникает при создании базы.

Решение:

Настроим проверку подлинности.

    1. Сконфигурируем доступ к серверу PostgreSQL в файле: pg_hba.conf:

vim /var/lib/pgsql/11/data/pg_hba.conf

Файл должен содержать только следующие строки (содержащие ip серверов 1С) (остальные удалим или пометим как комментарий):

# TYPE DATABASE USER ADDRESS                        METHOD

local  all      all                                 trust

host   all      all  «Указать ip-адрес сервера 1С»  md5

Строк должно быть, соответственно, несколько, если серверов 1С несколько в кластере.

Последняя колонка указывает на метод авторизации.

Если пока теряетесь в настройках доступа. Для понимания, можно сначала открыть все, запустить сервер.

# TYPE  DATABASE  USER  ADDRESS     METHOD

local   all       all               trust

host    all       all   0.0.0.0/0   trust

А после удачного старта сервера СУБД разбираться с настройками доступа.

ВАЖНО: в pg_hba.conf нет записи для компьютера «», пользователя «usr1cv8», базы «template»

Пример полного текста ошибки:

Сервер баз данных не обнаружен ВАЖНО: в pg_hba.conf нет записи для компьютера «», пользователя «usr1cv8», базы «template».

Описание ошибки:

Ошибка связана с отсутствием прописанного доступа к базе данных в файле pg_hba.conf

Решение:

Добавим запись в файл pg_hba.conf.

Приведем пример содержания файла, который открывает доступ:

# TYPE DATABASE  USER  ADDRESS                      METHOD

local  all       all                                trust

host  all        all  «Указать ip-адрес сервера 1С» md5

Строк должно быть, соответственно, несколько, если серверов 1С несколько в кластере.

Is the server running on host and accepting TCP/IP connections on port 5432?

Пример полного текста ошибки:

Сервер баз данных не обнаружен could not connect to server: No rout to host Is the server running on host and accepting TCP/IP connections on port 5432?

Описание:

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

Решение:

В данном случае необходимо понимать, что рабочего процесса:

Либо нет;

Либо клиент(в нашем случае сервер 1С) его не «видит» по ряду причин:

— Отсутствие доступа;

— Обращение по другому адресу.

1. Первоначально, конечно, проверим, есть ли на сервере СУБД PostgreSQL в запущенных процессах процесс postmaster/postgres (в зависимости от версии PostgreSQL) на порту 5432.

netstat tlnp | grep 5432

Или

1.1. Если по результатам проверки видим, что не запущен процесс, то необходимо его запустить.

service postgresql11 start

1.2. Если по результатам проверки видим, что процесс запущен, но слушает только «себя» 127.0.0.1.

То выполним ряд настроек.

Отредактируем конфигурационный файл

vim /var/lib/pgsql/11/data/postgresql.conf

Укажем там настройку:

1.3. Если видим, что процесс запущен

То переходим к следующем пункту.

2. Проверим доступность процесса по порту, который он «слушает».

С сервера 1С выполним команду(в нашем случае имя сервера СУБД «1s-on-pg-1»):

Если доступ отсутствует – то мы увидим нечто подобное:

Подключение к 333.33.33.xx…Не удалось открыть подключение к этому узлу, на порт 5432: Сбой подключения

К причинам отсутствия доступа по данному порту можно отнести:

  • Блокировка брадмауэром или другими подобными программами;
  • Отсутствие доступа на уровне сети.

2.1. Проверим статус файерволла.

systemctl status firewalld

Если файерволл работает и блокирует порт 5432, то.

Отключим firewall:

и отключим автозапуск.

systemctl disable firewalld

Результат должен быть следующим:

systemctl status firewalld

или

настроим, открыв порт 5432.

iptables t filter I INPUT p tcp dport 5432 j ACCEPT

service iptables save

«Породить новый процесс для соединения не удалось: Ресурс временно недоступен» или «ВАЖНО: извините, уже слишком много клиентов»

Пример полного текста ошибки:

Сервер баз данных не обнаружен породить новый процесс для соединения не удалось: Ресурс временно недоступен

или

Сервер баз данных не обнаружен ВАЖНО: извините, уже слишком много клиентов

Описание:

В процессе работы выдается ошибка

Решение:

Изменим настройку в файле postgresql.conf

Данное число, должно быть примерно в 1.5 раза больше максимального количества пользователей.

Установим ее:

    1. Перейдем в терминал psql.
    1. Через psql установим следующие параметры командой ALTER SYSTEM SET:

ALTER SYSTEM SET max_connections=500;

FATAL: database «base» does not exist

Пример полного текста ошибки:

Сервер баз данных не обнаружен

FATAL: database «base» does not exist

Описание:

При запуске базы данных выдается ошибка, которая говорит о том, что данная база не существует.

Решение:

Проверим наименование базы данных и информационной базы. Сделать это можно в консоли администрирования 1С в свойствах базы.

Учтём, что Linux чувствителен к регистру(Base/base/BASE – для него это разные имена баз).

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

Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.

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

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

Сервер 1С Предприятия. Часть 1 — Общие вопросы.

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

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

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

1cv8-pgsql-error-003.jpg

Данная ошибка возникает при разнесении серверов по разным ПК из-за неправильно настроеной проверки подлинности в локальной сети. Для устранения откройте /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

1cv8-pgsql-error-004.jpgНа первый взгляд ошибка понятна: клиент не может разрешить имя сервера СУБД, типичная ошибка для небольших сетей, где отсутствует локальный DNS-сервер. В качестве решения добавляют запись в файл hosts на клиенте, что не дает никакого результата…

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

1cv8-pgsql-error-005.jpg

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

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

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

192.168.31.83 SRV-1C-1204

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

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

1cv8-pgsql-error-007.jpgГораздо более серьезная ошибка, которая говорит о том, что вы установили несовместимую с 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»

1cv8-pgsql-error-008.jpgДовольно специфичная ошибка, характерная для сборок 9.1.x и 9.2.x Postgre@Etersoft, также может приводить предыдущей ошибке. Причина кроется в неисправленной ошибке в библиотеке fasttrun.so. Решение — откатиться на сборку 9.0.x Postgre@Etersoft.

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

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

1cv8-pgsql-error-010.jpg

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

1cv8-pgsql-error-011.jpg

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

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

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

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

Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.

Как заставить Сервер 1С (что работает на Windows), увидеть в сети сервер PostgreSQL на Linux UBUNTU?

Конечно, данная тема также подымается и на курсе: Администратор 1С!

Собственно решить такие проблемы как:

  • «Ошибка создания информационной базы»
  • «Ошибка операции администрирования»
  • «Сервер баз данных не обнаружен»
  • «Could not connect to server: Connection refused (Ox..00000/0000…)
  • Is the server running on host 192.168….x… and accepting TCP/IP connections on port 5432?»

Как заставить сервер 1С увидеть в сети сервер PostgreSQL ?

При установке на один физический сервер, «Cервера 1С» (кластер серверов) + СУБД PostgreSQL  проблем обычно не возникает. И «Сервер 1С» прекрасно видит PostgreSQL, новые информационные базы создаются, и все работает по умолчанию, конечно если поставили птичку во время установки СУБД на Windows — «Разрешать подключения с любых IP адресов».

Но совсем другая история, когда PostgreSQL у нас работает на Linux!

Ведь в процессе установки PostgreSQL на Linux подобных «птичек» нет )

Как решить проблему?

На самом деле все довольно просто!

Проверим в начале c какого IP принимаются подключения, и какой порт слушает сервис PostgreSQL.

Тут нам поможет команда:

sudo netstat pant | grep postgres

На картинке ниже, мы четко видим, что наш PostgreSQL слушает только localhost — 127.0.0.1 и порт по умолчанию 5432.

Выражаясь простым языком, «Сервер 1С» может работать в паре с СУБД, только на этом севере (хосте), при текущих настройках (По умолчанию, после установки «Постгреса» на этот сервер).

И так, теперь разобравшись, что проблема действительно есть в настройках PostgreSQL, можно приступить к ее решению! 

Сперва нам нужно найти конфигурационный файл postgresql.conf

Местоположение этого файла зависит от версии СУБД PostgreSQL (На примере использую сборку от компании Postgres Professional — PostgreSQL 10.5, сборку установил на UBUNTU server 18.04 LTS).

Найти файл очень просто, используем команду:

ps aux | grep postgres | grep D

Нас интересует все что мы видим после -D  /var/lib/pgpro/1c-10/data/

Здесь в каталоге /data/ и лежит наш файл postgresql.conf

Идем в этот каталог, откроем для редактирования postgresql.conf, и внесем нужные правки.

Для передвижения по каталогам и редактированию файлов на UBUNTU server 18.04, я использую MC (Midnight Commander).

Как его установить, писал здесь >>

(Выбрав файл postgresql.conf) далее давим клавишу F4:

Ищем строку #listen_addresses = ‘localhost’.

Раскомментируем строку (убрав #).

И приведем строку к виду: listen_addresses = ‘*’

Давим F2 + Enter и сохраняем файл.

Далее выполним перезапуск сервиса postgresql:

Стоп:

service postgrespro-1c-10 stop

И старт:

service postgrespro-1c-10 start

(Команда перезапуска у Вас будет отличатся, если версия PostgreSQL другая или другой сборки).

Затем стоит проверить работает ли PostgreSQL:

service postgrespro-1c-10 status

И если видим (как на картинке ниже) зеленым цветом active (running) значит PostgreSQL работает!

Смотрим, что теперь «слушает» PostgreSQL:

sudo netstat pant | grep postgres

Отлично!

После перезапуска сервиса, PostgreSQL принимает подключения действительно с любых IP адресов на стандартный порт 5432!

Но!  не спешите сейчас бежать на Сервер 1С, создавать новую информационную базу, или выполнять подключение.

Сервер 1С встретит Вас новой ошибкой! )

«ВАЖНО: в pg_hba.conf нет записи для компьютера «192.168.128.13», пользователя «postgres», базы «template1″, SSl выкл.»

Сервер 1С требует от нас создать еще одну запись, уже в другом файле pg_hba.conf

«Надо, так надо )»

Открываем для редактирования файл pg_hba.conf, он к слову находится в том же каталоге, что и файл postgresql.conf

Ищем строку: host      all          all                  127.0.0.1/32      md5

И приводим к виду: host      all          all                  192.168.128.13/24      md5

Где 192.168.128.13 ip адрес нашего Сервера 1С. (Тот сервер, где работает Сервер 1С).

Кстати! можно поступить и по-другому.

Просто добавить в строке ниже еще одну запись (Ту которую от нас и требует Сервер 1С):

Вот и все!

Сохраним файл и выполним перезапуск PostgreSQL.

Теперь новая информационная база 1С, будет создана успешно!

Сервер 1С работает на Windows, а PostgreSQL на Linux!

Если Вы хотите больше узнать о технической стороне 1С, тогда регистрируйтесь на первый бесплатный модуль курса: Администратор 1С >>>

Содержание

  1. Ошибка при создании базы 1С с клиента под Windows
  2. Ошибка субд: database не пригоден для использования
  3. В этой статье показан пример общих принципов разбора технологических вопросов, которые могут появляться при работе с 1С:Предприятие 8.1.
  4. 1. Определение текста (проявления) ошибки и локализация источника возникновения
  5. Сохранение информационной базы
  6. Восстановление информационной базы
  7. Ошибки информационной базы и их решение
  8. Тестирование и исправление
  9. Общая информация
  10. ВАЖНО: пользователь «postgres» не прошёл проверку подлинности (Ident)
  11. Сервер баз данных не обнаружен could not translate host name «NAME» to address: Temporary failure in name resolution
  12. Ошибка при выполнении операции с информационной базой server_addr=NAME descr=11001(0x00002AF9): Этот хост неизвестен.
  13. Ошибка СУБД: DATABASE не пригоден для использования
  14. Ошибка СУБД: ERROR: could not load library «/usr/lib/x86_64-linux-gnu/postgresql/fasttrun.so»
  15. Ошибка СУБД ERROR: type «mvarchar» does not exist at character 31
  16. Сервер баз данных не обнаружен ВАЖНО: пользователь «postgres» не прошёл проверку подлинности (по паролю)
  17. Сервер баз данных не обнаружен FATAL: database «NAME» does not exist
  18. Ошибки СУБД. 1С+PostgreSQL+Linux. Часть 2.
  19. Ошибка СУБД:
  20. DATABASE не пригоден для использования
  21. ERROR: type «tt7» already exists
  22. ERROR: could not read block
  23. Не удалось запустить сервер PostgreSQL
  24. Длительный запуск 1С:Предприятия при работе с СУБД PostgreSQL
  25. Из файла *xlsx загружаются в 1С иероглифы/ в файл выгружаются иероглифы.
  26. Еще можно посмотреть
  27. Установка двух версий сервера 1С на Linux
  28. Ошибки публикации базы и веб сервиса на веб сервере 1C+ Apache +Linux.
  29. Администрирование серверов 1С на Linux
  30. Установка PostgreSQL для 1С на Linux
  31. Публикация 1С на Веб сервере Apache Linux
  32. Установка и настройка хранилища конфигураций 1C на Linux сервере
  33. Основные команды Linux

Ошибка при создании базы 1С с клиента под Windows

Установлен сервер 1С Предприятие 8.2 (релиз 8.2.17.169), СУБД PostgreSQL 9.2.1 на сервере линукс CentOS 6.3 (64bit). В среде СУБД PostgreSQL базы создаются и тестируются. При попытке создать БД с клиента на ПК под Windows, клиент выдает сообщение: «Ошибка при создании информационной базы: Ошибка операции с информационной базой Ошибка СУБД: DATABASE не пригоден для использования » Пожалуйста, подскажите где копать. Спасибо.

58055: 1610873250

а с линуксов создаются нормально?

На сервере с консоли терминала в среде СУБД PostgreSQL базы создаются и тестируются.

96214:1484350258

Там мильйон причин по которым у вас вылазит такая ошибка. Вы через оснастку Администрирование серверов 1с, бд подключали?

нет. Я просто установил клиент и с него. В меня клиентский ПК под Win 7. Попробую через оснастку. Спасибо.

А постгрес пропатчен для 1С?

Попробовал через оснастку. Но при создании Центрального сервера после задания его имени «Serv1С» или IP выдаэтся следуюющее собщение: Server addr=tcp://Serv1C:1541 descr=192.168.101.10:1541; Ошибка сетевого доступа к серверу (Windows Sockets-10065(0x00002751). Сделана попытка выполнить операцию на сокете для недоступного хоста); lin=545 file=srcDataExchange TcpClientlmpl.cpp

Приехали. Я так понял, что с сети не видно сервера. Хотя через самбу я его вижу и даже пишу в расшаренную папку. А вот сервера 1С, видимо не видно. И как его открыть для сети?

71011: 256037542

Пройди в оснастку управления и администрирования сервером 1С предприятие. Зайди в свой кластер и обрати внимание на «Рабочие серверы». Удали то что там сейчас и укажи реально существующий сервер. После этого возможно потребуется создать рабочие процессы.

71011: 256037542

Скачай с офф.сайта производителя патчи, если сам сервер Postgres не с офф. сайта.

96214:1484350258

«Serv1С» надо прописать в hosts.

71011: 256037542

Для начала рабочий сервер поправьте в кластере. Я почему-то думаю что postgres у тебя с офф.сайта.

71011: 256037542

Установи ее на виндовс машине и мышкой нашелкай, или поправь все в файле сервера 1С на Линукс

71011: 256037542

Вы вообще не в теме, да?

60642: 1392179046

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

6015: 604042723

База PostgreSQL и «информационная база» 1С имеют между собой примерно столько же общего, сколько база автомобиля и база отдыха.

2300:1567075356

Дружище, ты не там ищешь ответы. Тебе придётся сесть и изучить документацию вообще по всему, что ты используешь, научится диагностике и решению проблем.

А когда ты станешь гуру pgsql и 1с, ты поймёшь, какой бесполезнейшей хернёй ты вообще занимаешься. Связка 1C+pgsql не даст тебе никакого прироста в производительности, напротив, такая связка гарантированно хуже в этом плане чем 1с+дефолтный mssql, даже если ты базы утащишь в рамфс и воткнёшь столько мощных процессоров, сколько у тебя хватит фантазии. И дело не в тебе и не в pgsql, дело в 1С.

Но я тебя обрадую, (не в даваясь в историю появления mssql) 1С под linux идеально чувствует себя в связке с db2 от ibm. Эффект «вау» от бухгалтеров гарантирован и отсутствие нервотрёпок в дальнейшим тоже. Да, для использования больше 2Гб памяти она требует покупку лицензии, очень не дешёвой.

60642: 1392179046

Тебе придётся сесть и изучить документацию вообще по всему

Когда тебе дают ссылку на коротенький ман по включению отладочных сообщений сервера, достаточно умения читать.

Связка 1C+pgsql не даст тебе никакого прироста в производительности, напротив, такая связка гарантированно хуже в этом плане чем 1с+дефолтный mssql

1С под linux идеально чувствует себя в связке с db2 от ibm.

Близко к 4.2. Заливку dt по 10 часов уже починили? Администрирование этого чуда даже не рассматриваем.

У меня клиентские базы далеко не ИП, но почему-то прекрасно себя с постгресом чувствуют, и типовые, и собственные. Про кучу лишнего времени мимо. Ну а про «одну лицензию на винду» как-то даже не смешно.

2300:1567075356

Ты не берёшься утверждать что производительность pgsql лучше чем db2, у тебя всё отлично и так. Хорошо, сколько гигабайт твоя база и сколько в ней работает человек?

Надеюсь, что ты пробовал не триальную версию с ограничением в процессорах, памяти и процессах.

Заливку dt по 10 часов уже починили?

А что была какая-то проблема у тех кто догадался прочитать документацию? У меня таких проблем нет.

Администрирование этого чуда даже не рассматриваем

А какие проблемы с администрированием? И она не чудо, она «суровый энтерпрайз» со всеми вытекающими плюсами и минусами.
Давай пойдём по пути простой логики, как ты думаешь, что движет людьми, что они заменяют mssql и pgsql на db2? Ну или не заменяют, а хотя бы пытаются?

Я не агитирую за db2, у меня к ней тоже есть претензии, но они нивилируются удовлетворением от производительности. К сожалению, pgsql мне эту радость не подарил, и мне жаль потраченного на него времени при решения задачи «обеспечить производительность выше mssql». Я работал с базами 15-80Гб с 20-40 активными юзерами, это было лето 2011г.

p.s. допускаю, что за последние почти 2 года произошёл какой-то прорыв в связке с pgsql, но зная инертность 1с разработчиков, просто в это не верю.

60642: 1392179046

Ты не берёшься утверждать что производительность pgsql лучше чем db2.

Конечно нет, фирма 1С тоже вот не берётся. Про сферические базы со сферическими пользователями я уже писал. По опыту могу сказать, что серьёзные затыки с производительность обычно связаны с нюансами учётных алгоритмов, и не решаются ни железом, ни настройкой чего-либо. Только изменение/оптимизация алгоритма.

Хорошо, сколько гигабайт твоя база и сколько в ней работает человек?

Ок, есть база на 50Гб с 30+ пользователями. Внезапно, на постгресе чувствует себя лучше, чем на скуле.

А что была какая-то проблема у тех кто догадался прочитать документацию?

Ага, посмотри закрытый форум.

как ты думаешь, что движет людьми, что они заменяют mssql и pgsql на db2?

Отсутствие программистов в штате? Имеющийся db2? 🙂

но зная инертность 1с разработчиков, просто в это не верю.

Всем бы такую инертность, за 5 лет полностью переписать платформу, реализовать полноценный клиент-сервер, кроссплатформенность, веб-клиента, декларативное описание интерфейса и ещё обеспечивать обратную совместимость.

Источник

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

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

В качестве примеров будут разобраны:

Пример 1. Пользователь пожаловался на невозможность запуска 1С:Бухгалтерия.

Пример 2. «Потерялся» доступ к информационной базе.

Ошибка при выполнении операции с информационной базой

Microsoft OLE DB provider for SQL Server: Login failed for user ‘user1c’

H RESULT=80040E4D, SQLSrvr: Error state=1, Severity=E, native=18456, line=1

Пример 3. Странная «неизвестная» ошибка.

Текст сообщения: «Произошла неизвестная ошибка на сервере 1С предприятие (80010108)»

1. Определение текста (проявления) ошибки и локализация источника возникновения

iderror

net start Агент сервера 1с:Предприятие 8.1

Если сервер приложений не стартует, в некоторых случаях сделайте копию папки C:Program Files1cv81server и удалите содержимое перед попыткой старта.

Файловый режим 1С: Предприятия 8.3 предполагает хранение информационных данных программы в виде файлов, объединенных в одну папку. Для каждой информационной базы (ИБ) создается отдельная папка, адрес которой можно увидеть в окне запуска программы:

Каждая папка данных 1С – набор системных файлов, среди которых 1Cv8.1CD и есть основной файл ИБ, содержащий введенные пользователями первичные данные, структуру конфигурации и механизмы ее работы:
27

Сохранение информационной базы

Сохранение копии информации программ 1С на внешний носитель или облачный ресурс настоятельно рекомендуется выполнять ежедневно, а при активной деятельности и большом объеме документов – и несколько раз в день. Это поможет избежать мучительного восстановления данных в случае сгоревшего жесткого диска, неудачного обновления программы, вирусной атаки.

Выгрузка базы данных 1С может осуществляться несколькими способами:

В режиме «Конфигуратор» следует выбрать пункт меню:
37

И сохранить выгружаемый файл с расширением dt, содержащий упакованные информационные данные и структуру конфигурации, в любой удобный каталог:
47

Экспорт базы из 1С в указанный каталог успешно выполнен:
55

Восстановление информационной базы

При выборе первого способа экспорта конфигурации 1С загрузка базы осуществляется подключением каталога в окне запуска программы (Добавить – Добавление в список существующей информационной базы) с последующим выбором папки, содержащей копию:
65

Для второго случая импорт базы 1С выполняется также в режиме «Конфигуратор». В меню «Администрирование» следует выбрать команду «Загрузить информационную базу» и указать файл выгрузки *.dt:
72

Следует согласиться с предупреждением о перезаписи данных, нажав кнопку «Продолжить».

При успешной загрузке файла информационных данных на экране будет выведено соответствующее сообщение:81

Если дальнейшая работа в конфигураторе не предполагается, следует ответить «Нет».

Ошибки информационной базы и их решение

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

Если копия данных по каким-либо причинам не была сохранена и восстановление ее достойным вариантом невозможно, необходимо выполнить для конфигурации 1С проверку целостности базы – возможно, но вовсе не обязательно она поможет решить проблемы.

Тестирование и исправление

Для одновременного применения исправлений к данным и структуре необходимо установить радиоточку в положение «Тестирование и исправление».

Программная обработка «Тестирование и исправление» проверяет и исправляет внутреннюю структуру конфигурации и информационных данных. За проверку физической целостности базы отвечает файл chdbfl.exe.

Этим файлом также осуществляется проверка базы на ошибки и расположен он в каталоге установки технологической платформы:
141

Форма этой проверки проста – достаточно выбрать файл информационной базы, установить флажок автоматического исправления ошибок и нажать на кнопку «Выполнить», Программа при этом должна быть закрыта у всех пользователей и, как всегда, выполнено резервное копирование:
151

При успешном окончании проверки будет выдано соответствующее сообщение:
161

Если рассмотренные здесь методы тестирования и восстановления данных должного результата не принесли, для восстановления целостности информационной базы и исправления ошибок следует обратиться к квалифицированным специалистам 1С.

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

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

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

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

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

ВАЖНО: пользователь «postgres» не прошёл проверку подлинности (Ident)

1cv8 pgsql error 003

Host all all 192.168.31.0/24 ident

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

Host all all 192.168.31.0/24 md5

Сервер баз данных не обнаружен
could not translate host name «NAME» to address: Temporary failure in name resolution

1cv8 pgsql error 004На первый взгляд ошибка понятна: клиент не может разрешить имя сервера СУБД, типичная ошибка для небольших сетей, где отсутствует локальный DNS-сервер. В качестве решения добавляют запись в файл hosts на клиенте, что не дает никакого результата.

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

1cv8 pgsql error 005

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

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

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

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

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

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

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

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

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

1cv8 pgsql error 010

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

1cv8 pgsql error 011

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

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

Источник

Ошибки СУБД. 1С+PostgreSQL+Linux. Часть 2.

photo 2020 12 18 11 56 12

Ошибка СУБД:

Продолжение сообщения может быть различным:

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

Пример полного текста ошибки:

post 922 image

Описание ошибки:

База не запускается после установки и создания.

Решения:

Установим версию предназначенную для работы с 1С:Предприятием. Скачать такую можно с сайта 1С (при наличии купленного ИТС и открытого доступа), или приобрести у PostgresPro.

Либо проверим все ли зависимости были установлены. И установим недостающие.

ERROR: type «tt7» already exists

Пример полного текста ошибки:

post 922 image

Описание:

Данная ошибка является «плавающей» и может возникать в различных местах

Решение:

Выгрузим и загрузим базу данных средствами 1С:Предприятия(через файл *.dt).

ERROR: could not read block

post 922 image 1

Описание ошибки:

База не запускается. Разрушились диски.

Решения:

Переносим базу на другую дисковую систему.

Разворачиваем из резервной копии.

Не удалось запустить сервер PostgreSQL

Пример полного текста ошибки:

post 922 image 1

Описание:

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

В этой ситуации при попытке запуска видно ошибку – сервер не запускается.

А при проверке состояния видно, что сервер работает.

post 922 image 2

Если проверим запущенные процессы пользователя postgres, то можно увидеть, что порт 5432 занят кластером PostgreSQL, только запущенным из каталога по умолчанию.

post 922 image 3

Решение:

Остановим работающий кластер сервера СУБД.

Инициализируем кластер из нового каталога(если он не инициализирован).

Запустим из нового каталога.

Длительный запуск 1С:Предприятия при работе с СУБД PostgreSQL

Описание:

Длительный запуск, длительный захват объектов в хранилище, длительное сохранение конфигурации 1С:Предприятия.

Решение:

Такая проблема может быть связано с настройками СУБД PostgreSQL.

Рассчитаем настройки СУБД.

Описание настроек приведено на ИТС.

Выполним настройки, для этого перейдем в терминал psql:

Через psql установим параметры командой ALTER SYSTEM SET(параметры необходимо указать для вашей СУБД):

Из файла *xlsx загружаются в 1С иероглифы/ в файл выгружаются иероглифы.

Описание ошибки:

При загрузке данных из файла *.xlsx в 1С отображаются иероглифы. Используемая СУБД PostgreSQL/PostgresPro.

post 922 image 4

Также возможна проблема с кодировкой в выгружаемом файле из 1С:

post 922 image 5

Решение:

На сервере СУБД проверим и выполним настройку локали.

1. Проверим наличие локали:

2. Проверим переменную:

Корректное значение результатов выполнения команд 2, 3:

3. Если результат не соответствует, выполним:

5. Выполним перезапуск серверов СУБД

Еще можно посмотреть

linux 3

Установка двух версий сервера 1С на Linux

Пошаговый процесс установки и запуска двух версий сервера 1С на Linux. Полное описание настройки второго экземпляра сервера 1С.

photo 2020 12 18 11 33 39

Ошибки публикации базы и веб сервиса на веб сервере 1C+ Apache +Linux.

Многие из нас привыкли публиковать базу или веб сервис 1С нажатием нескольких кнопок. Но не все из многих знают, что для этого необходимо запустить(от имени администратора!) конфигуратор 1С:Предприятие именно на той машине, где установлен веб сервер(а именно компонента веб-расширения 1С:Предприятия). В случае, если веб-сервер и компонента веб-расширения 1С:Предприятия установлены на машину с ОС Linux без […]

istockphoto 525197007 612x612 1

Администрирование серверов 1С на Linux

Привычным для нас инструментом управления кластером серверов 1С является консоль «Администрирование серверов 1С Предприятия» — «Microsoft Management Console». Данная консоль позволяет выполнять все необходимые действия по администрированию кластеров серверов 1С:Предприятия. Но, она имеет один недостаток – её невозможно использовать под ОС Linux. Но не все так плохо. Альтернативными средствами администрирования серверов 1С на Linux являются: […]

linux 06

Установка PostgreSQL для 1С на Linux

Пошаговый процесс установки СУБД PostgreSQL для 1С на Linux сервер.

linux 07

Публикация 1С на Веб сервере Apache Linux

Пошаговые инструкции по публикация базы и web-сервисов 1С на веб-сервере Apache 2.4 на Linux.

linux 5

Установка и настройка хранилища конфигураций 1C на Linux сервере

Хранилище конфигурации 1С:Предприятия 8.3 является инструментом групповой разработки. Настраиваем сервер хранилища на Linux.

linux 99

Основные команды Linux

Список основных команд консоли Linux которые потребуются при установке и настройке 1С. Примеры использования с комментариями.

Источник

Ошибка 1С «Сервер баз данных не обнаружен»

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

Одна из распространенных ошибок — «Сервер баз данных не обнаружен…».

Продолжение данного сообщения может быть различным:

  1. 1. Could not translate host name «NAME» to address: Temporary failure in name resolution

    2. ВАЖНО: пользователь «postgres» не прошёл проверку подлинности (Ident)

    3. ВАЖНО: в pg_hba.conf нет записи для компьютера «», пользователя «usr1cv8», базы «template»

    4. Is the server running on host and accepting TCP/IP connections on port 5432?

    5. «Породить новый процесс для соединения не удалось: Ресурс временно недоступен» или «ВАЖНО: извините, уже слишком много клиентов.»

    6. FATAL: database «base» does not exist

Далее рассмотрим подробнее каждую ошибку.

Could not translate host name «NAME» to address: Temporary failure in name resolution

Пример полного текста ошибки:

Сервер баз данных не обнаружен

could not translate host name «NAME» to address: Temporary failure in name resolution

Описание:

Ошибка может возникать как при создании базы, так и при запуске информационной базы.

Решение:

Настроим DNS-адресацию или пропишем адреса в файл hosts. Обратите внимание, что в данном случае проблема в том, что на сервере 1С нет информации о доменном имени сервера СУБД PostgreSQL. Подробнее о DNS — Настройка DNS-адресации для 1С сервера.

ВАЖНО: пользователь «postgres» не прошёл проверку подлинности (Ident)

Пример полного текста ошибки:

Сервер баз данных не обнаружен

ВАЖНО: пользователь «postgres» не прошёл проверку подлинности (Ident)

Описание: Ошибка возникает при создании базы.

Решение:

Настроим проверку подлинности.

    1. Сконфигурируем доступ к серверу PostgreSQL в файле: pg_hba.conf:

vim /var/lib/pgsql/11/data/pg_hba.conf

Файл должен содержать только следующие строки (содержащие ip серверов 1С) (остальные удалим или пометим как комментарий):

# TYPE DATABASE USER ADDRESS                        METHOD

local  all      all                                 trust

host   all      all  «Указать ip-адрес сервера 1С»  md5

Строк должно быть, соответственно, несколько, если серверов 1С несколько в кластере.

Последняя колонка указывает на метод авторизации.

Если пока теряетесь в настройках доступа. Для понимания, можно сначала открыть все, запустить сервер.

# TYPE  DATABASE  USER  ADDRESS     METHOD

local   all       all               trust

host    all       all   0.0.0.0/0   trust

А после удачного старта сервера СУБД разбираться с настройками доступа.

ВАЖНО: в pg_hba.conf нет записи для компьютера «», пользователя «usr1cv8», базы «template»

Пример полного текста ошибки:

Сервер баз данных не обнаружен ВАЖНО: в pg_hba.conf нет записи для компьютера «», пользователя «usr1cv8», базы «template».

Описание ошибки:

Ошибка связана с отсутствием прописанного доступа к базе данных в файле pg_hba.conf

Решение:

Добавим запись в файл pg_hba.conf.

Приведем пример содержания файла, который открывает доступ:

# TYPE DATABASE  USER  ADDRESS                      METHOD

local  all       all                                trust

host  all        all  «Указать ip-адрес сервера 1С» md5

Строк должно быть, соответственно, несколько, если серверов 1С несколько в кластере.

Is the server running on host and accepting TCP/IP connections on port 5432?

Пример полного текста ошибки:

Сервер баз данных не обнаружен could not connect to server: No rout to host Is the server running on host and accepting TCP/IP connections on port 5432?

Описание:

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

Решение:

В данном случае необходимо понимать, что рабочего процесса:

Либо нет;

Либо клиент(в нашем случае сервер 1С) его не «видит» по ряду причин:

— Отсутствие доступа;

— Обращение по другому адресу.

1. Первоначально, конечно, проверим, есть ли на сервере СУБД PostgreSQL в запущенных процессах процесс postmaster/postgres (в зависимости от версии PostgreSQL) на порту 5432.

netstat tlnp | grep 5432

Или

1.1. Если по результатам проверки видим, что не запущен процесс, то необходимо его запустить.

service postgresql11 start

1.2. Если по результатам проверки видим, что процесс запущен, но слушает только «себя» 127.0.0.1.

То выполним ряд настроек.

Отредактируем конфигурационный файл

vim /var/lib/pgsql/11/data/postgresql.conf

Укажем там настройку:

1.3. Если видим, что процесс запущен

То переходим к следующем пункту.

2. Проверим доступность процесса по порту, который он «слушает».

С сервера 1С выполним команду(в нашем случае имя сервера СУБД «1s-on-pg-1»):

Если доступ отсутствует – то мы увидим нечто подобное:

Подключение к 333.33.33.xx…Не удалось открыть подключение к этому узлу, на порт 5432: Сбой подключения

К причинам отсутствия доступа по данному порту можно отнести:

  • Блокировка брадмауэром или другими подобными программами;
  • Отсутствие доступа на уровне сети.

2.1. Проверим статус файерволла.

systemctl status firewalld

Если файерволл работает и блокирует порт 5432, то.

Отключим firewall:

и отключим автозапуск.

systemctl disable firewalld

Результат должен быть следующим:

systemctl status firewalld

или

настроим, открыв порт 5432.

iptables t filter I INPUT p tcp dport 5432 j ACCEPT

service iptables save

«Породить новый процесс для соединения не удалось: Ресурс временно недоступен» или «ВАЖНО: извините, уже слишком много клиентов»

Пример полного текста ошибки:

Сервер баз данных не обнаружен породить новый процесс для соединения не удалось: Ресурс временно недоступен

или

Сервер баз данных не обнаружен ВАЖНО: извините, уже слишком много клиентов

Описание:

В процессе работы выдается ошибка

Решение:

Изменим настройку в файле postgresql.conf

Данное число, должно быть примерно в 1.5 раза больше максимального количества пользователей.

Установим ее:

    1. Перейдем в терминал psql.
    1. Через psql установим следующие параметры командой ALTER SYSTEM SET:

ALTER SYSTEM SET max_connections=500;

FATAL: database «base» does not exist

Пример полного текста ошибки:

Сервер баз данных не обнаружен

FATAL: database «base» does not exist

Описание:

При запуске базы данных выдается ошибка, которая говорит о том, что данная база не существует.

Решение:

Проверим наименование базы данных и информационной базы. Сделать это можно в консоли администрирования 1С в свойствах базы.

Учтём, что Linux чувствителен к регистру(Base/base/BASE – для него это разные имена баз).

Попробуй добавить через Администрирование серверов 1С Предприятия не помню что именно там мешало создавать новые базы сразу из добавить новую базу, но через это можно было создать и 1с норм работало. И проверь если ipv6 то отключи полностью, также резолв имен в ip адреса на клиенте и сервере.

pvvking ★★

(01.10.18 15:08:21 MSK)

  • Ссылка

Ответ на:

комментарий
от kd75 01.10.18 15:18:49 MSK

Я через apt-get ставил как во всех гайдах пишут.
Где находится Администрирование серверов 1с предприятия?

  • Показать ответы
  • Ссылка

Ответ на:

комментарий
от frost114 01.10.18 15:30:21 MSK

Повторюсь, с postgresql из состава дистрибутива 1C работать не будет

kd75

(01.10.18 15:36:19 MSK)

  • Ссылка

Ответ на:

комментарий
от frost114 01.10.18 15:30:21 MSK

AFAIK в линуксячью версию 1С не положили GUI для «Администрирование серверов» -только из консоли

kd75

(01.10.18 15:42:27 MSK)

  • Показать ответ
  • Ссылка

1. Номер ошибки должен быть.
2. Параметры подключения(создания) какие?
3. Наиболее частая ошибка не идет ping по имени компьютера(не localhost). Имя компьютера нужно прописать в /etc/hosts

  • Ссылка

Ответ на:

комментарий
от kd75 01.10.18 15:42:27 MSK

Как поставить то этот postgrespro по вашей ссылке на altlinux. Столько сидел так и не понял, не хочет ставиться. Только из исходника нормально поставился и запускается хоть служба.

  • Показать ответы
  • Ссылка

Ответ на:

комментарий
от frost114 01.10.18 17:17:29 MSK

копипаста с https://postgrespro.ru/products/1c/supported


Altlinux 8
PostgreSQL 9.6.10

Пакет: postgresql96-server-9.6.10-1.1C.x86_64.rpm

Установка

curl http://1c.postgrespro.ru/keys/GPG-KEY-POSTGRESPRO-1C | gpg --import -
echo rpm http://1c.postgrespro.ru/archive/2018_09_03/rpm/9.6/altlinux/8 x86_64 pgpro-1c > /etc/apt/sources.list.d/postgrespro-1c.list
apt-get update -y
apt-get install -y postgresql96-server

kd75

(02.10.18 06:07:12 MSK)

  • Ссылка

Ответ на:

комментарий
от frost114 01.10.18 17:17:29 MSK

Ответ на:

комментарий
от kd75 02.10.18 06:07:53 MSK

Установился, только управлять как им не понятно. Как в учетку postgres попасть не пойму — psql -U postgres не работает и su — postgres тоже в какую то другую заходит

  • Показать ответ
  • Ссылка

Ответ на:

комментарий
от frost114 02.10.18 09:43:03 MSK

Ответ на:

комментарий
от garik_keghen 02.10.18 09:46:07 MSK

Спасибо, зашел локаль глянул русская и на 1с и тут. А ксерваку что то не цепляется через pgAdmin. Ошибка подключения на английском и знаки вопроса

  • Показать ответ
  • Ссылка

Ответ на:

комментарий
от frost114 02.10.18 10:08:37 MSK

А к серваку что то не цепляется через pgAdmin

У postgres есть конфиг pg hba conf, в нем указанно, кому, к кокой базе, с какого IP, с каким метод авторизации можно подключаться. Посмотрите на этот файл.

  • Показать ответ
  • Ссылка

Ответ на:

комментарий
от garik_keghen 02.10.18 10:12:07 MSK

Почему то по md5 как в гайдах не хотел добовляться, только через trust удалось. Правда такая же ошибка как и была, незнаю почему не хочет создавать он базу через этот 1с новую.В самом pgadmine то создаются

  • Показать ответ
  • Ссылка

Ответ на:

комментарий
от frost114 02.10.18 10:17:32 MSK

только через trust

Осторожнее с этим.

Почему то по md5 как в гайдах

метод md5 предполагает авторизацию по паролю, вы же его задали, когда создавали пользователя?

  • Показать ответ
  • Ссылка

Ответ на:

комментарий
от garik_keghen 02.10.18 10:18:52 MSK

Я пока пользователя не создавал, под postgres работаю. А на счет добьовления новой базы пишет — Ошибка при создании информационной базы: ошибка при выполнении операции с информационной базы. И все как бы никакой конкретики, что за ошибка — с тем так же было, не пойму че за фигня такая

  • Показать ответ
  • Ссылка

Ответ на:

комментарий
от frost114 02.10.18 10:23:31 MSK

Дык гляньте,

1) что postgres запущен


root@main:/var/log/postgresql# service postgresql status
postgresql.service - PostgreSQL RDBMS
   Loaded: loaded (/lib/systemd/system/postgresql.service; enabled; vendor preset: enabled)
   Active: active (exited) since Thu 2018-09-20 08:07:25 +05; 1 weeks 5 days ago
  Process: 802 ExecStart=/bin/true (code=exited, status=0/SUCCESS)
 Main PID: 802 (code=exited, status=0/SUCCESS)
    Tasks: 0 (limit: 4915)
   CGroup: /system.slice/postgresql.service

сен 20 08:07:25 main systemd[1]: Starting PostgreSQL RDBMS...
сен 20 08:07:25 main systemd[1]: Started PostgreSQL RDBMS.

2)логи постгресса (в демьяне /var/log/postgresql), может сервер 1с не может подключится к серверу баз данных и если не может то почему,
станет немного понятнее что идет не так

kd75

(02.10.18 11:08:31 MSK)

  • Показать ответ
  • Ссылка

Ответ на:

комментарий
от kd75 02.10.18 11:08:31 MSK

Postgres запущен, статус актив, через pgadmin базы можно создать, 1с тоже запущен, но команда netstat -tlnp | grep :15 показывает, что запущен только ragent на порте 1540, а других нет — хотя там стррок 6 вроде как выводить должен

  • Показать ответы
  • Ссылка

Ответ на:

комментарий
от frost114 02.10.18 11:15:15 MSK

с рабочего 1с сервера


root@main:/var/log/postgresql# netstat -tlnp | grep :15
tcp        0      0 0.0.0.0:1560            0.0.0.0:*               LISTEN      1182/rphost         
tcp        0      0 0.0.0.0:1540            0.0.0.0:*               LISTEN      1110/ragent         
tcp        0      0 0.0.0.0:1541            0.0.0.0:*               LISTEN      1118/rmngr          
tcp6       0      0 :::1560                 :::*                    LISTEN      1182/rphost         
tcp6       0      0 :::1540                 :::*                    LISTEN      1110/ragent         
tcp6       0      0 :::1541                 :::*                    LISTEN      1118/rmngr  

kd75

(02.10.18 11:18:53 MSK)

  • Показать ответы
  • Ссылка

Ответ на:

комментарий
от frost114 02.10.18 11:15:15 MSK

а в логах постгреса что?

kd75

(02.10.18 11:19:55 MSK)

  • Ссылка

Ответ на:

комментарий
от kd75 02.10.18 11:18:53 MSK

Щас попробую переустановить 1с другую версию, посмотрю запустится ли

  • Ссылка

Ответ на:

комментарий
от kd75 02.10.18 11:18:53 MSK

У вас 1с какой версии, а то щас поставил другую а там даже порты не выводит командой netstat -tlnp | grep :15

  • Показать ответ
  • Ссылка

Ответ на:

комментарий
от frost114 02.10.18 11:38:35 MSK

Ответ на:

комментарий
от kd75 02.10.18 11:44:18 MSK

В общем незнаю что за проблема, c портами проблема какая то, поставил обратно тоже самое стало.

  • Показать ответ
  • Ссылка

Ответ на:

комментарий
от frost114 02.10.18 12:59:08 MSK

Ответ на:

комментарий
от Goldfinch 02.10.18 13:21:02 MSK

Ответ на:

комментарий
от frost114 02.10.18 13:24:19 MSK

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

systemctl stop srv1cv83
rm -Rf /home/usr1cv8/.1cv8
systemctl start srv1cv83

И покажи

cat /home/usr1cv8/.1cv8/1C/1cv8/1cv8wsrv.lst
  • Показать ответ
  • Ссылка

Ответ на:

комментарий
от Goldfinch 02.10.18 13:33:25 MSK

Ответ на:

комментарий
от frost114 02.10.18 13:44:45 MSK

Помню у меня такая фигня была если пытаться создать постгресовскую базу из 1с-ого гуя. Если предварительно создать пустую базу в постгресе, а потом натравить на неё 1с, то всё нормально создавалось.

PolarFox ★★★★★

(02.10.18 13:47:23 MSK)



Последнее исправление: PolarFox 02.10.18 13:47:44 MSK
(всего

исправлений: 1)

  • Показать ответ
  • Ссылка

Ответ на:

комментарий
от PolarFox 02.10.18 13:47:23 MSK

Так вот в Postgres то база создается, а через 1с добавить базу ни в какую, не запускаются эти 2 процесса rphost и rmngr

  • Показать ответ
  • Ссылка

Ответ на:

комментарий
от frost114 02.10.18 13:49:56 MSK

при попытке создать базу средствами 1с в логах постгреса что пишется? может постгрес не принимает подключения

kd75

(02.10.18 13:54:40 MSK)

  • Показать ответ
  • Ссылка

Ответ на:

комментарий
от Goldfinch 02.10.18 13:45:34 MSK

Ответ на:

комментарий
от kd75 02.10.18 13:54:40 MSK

Ответ на:

комментарий
от frost114 02.10.18 13:57:07 MSK

В данном случае не создан кластер.
До постгрес дело просто не доходит.

Я поэтому и писал, что нужно создать кластер по новой.
Обычно такая фигня с 1cv8wsrv.lst если компьютер не пингуется по имени компа. И если кластер не создался при первом запуске, то ничего работать не будет содержимое 1cv8wsrv.lst никогда не меняется.
Раз сейчас с пингом все ОК. Нужно пересоздать кластер по новой.
Кстати, ОС какая?

  • Показать ответ
  • Ссылка

Ответ на:

комментарий
от frost114 02.10.18 13:58:38 MSK

если установлен postgrespro и у вас дебиан, то в консоли от рута делаете

tail -f /var/log/postgresql/postgresql-9.6-*.log

и смотрите как и на что ругается постгрес, когда создаете базу посредством гуйни от 1с

kd75

(02.10.18 14:05:36 MSK)

  • Ссылка

Ответ на:

комментарий
от Goldfinch 02.10.18 14:05:29 MSK

imho стоит посмотреть настройку pg_hba.conf -может пользователь не настроен и постгрес никому не разрешает подключатся к себе

kd75

(02.10.18 14:09:16 MSK)

  • Показать ответ
  • Ссылка

Ответ на:

комментарий
от kd75 02.10.18 14:09:16 MSK

В общем удалил файлик из каталога /home/usr1cv83/.1cv8/1c/1cv8/1cv8wsrv.lst (последний это файлик) и появился rmngr c 1541 портом. А вот rphost и ошибка та остается!

  • Показать ответ
  • Ссылка

Ответ на:

комментарий
от frost114 02.10.18 14:48:05 MSK

Удалял только 1cv8wsrv.lst или всю папку со служебной информацией (/home/usr1cv8/.1cv8), как я писал?

  • Показать ответ
  • Ссылка

Ответ на:

комментарий
от Goldfinch 02.10.18 14:52:04 MSK

Всю папку сначала, но ничего не дало, потом только этот файлик и уже появился порт 1541

  • Показать ответ
  • Ссылка

Ответ на:

комментарий
от frost114 02.10.18 14:53:02 MSK

Покажи:
/home/usr1cv8/.1cv8/1C/1cv8/1cv8wsrv.lst
/home/usr1cv8/.1cv8/1C/1cv8/reg_1541/1CV8Clst.lst

  • Показать ответ
  • Ссылка

Ответ на:

комментарий
от Goldfinch 02.10.18 15:03:15 MSK

В первом файле то что выше писал, во втором 1CVBCls.lst вот это

.{0,^M
{00000000-0000-0000-0000-000000000000,"",0,"",0,0,0,0,0,0,0,^M
{0},0,0,0},^M
{0},^M
{0},^M
{0},^M
{0},^M
{1,^M
{f52381ee-c319-11e8-1c92-ea72df592b4d,"Главный менеджер кластера","host-214.localdomain",1,1,00000000-0000-0000-0000-00000000
},^M
{0},^M
{0},^M
{0},^M
{0},^M
{0},^M
{0,0},0,^M
{0},^M
{0},^M
{0},^M
{0},^M
{0},^M
{0},^M
{0},^M
{0},^M
{0},0}
  • Показать ответ
  • Ссылка

Ответ на:

комментарий
от frost114 02.10.18 15:17:21 MSK

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

Я бы еще раз повторил:

остановка службы,

удаление /home/usr1cv8/.1cv8,

/etc/init.d/srv1cv83 start — этот скрипт запускает сервис

При первом запуске, если нет этой папки скрипт начинает создавать эту структуру. Вроде иногда сервис не успевает и вылетает по тайм-ауту.

И опять-таки какая ОС используется?

  • Показать ответы
  • Ссылка

Ответ на:

комментарий
от Goldfinch 02.10.18 15:56:26 MSK

Allinux используется, щас попробую уж незнаю чего и делать

  • Ссылка

Ответ на:

комментарий
от Goldfinch 02.10.18 15:56:26 MSK

Ответ на:

комментарий
от frost114 02.10.18 16:06:37 MSK

Как я понимаю имя компа host-214.localdomain?
Попробуй избавиться от localdomain

новое имя hostname host-214
прописываем /etc/hosts host-214 ip
Проверяем ping host-214
И создание кластера по новой.

  • Ссылка

Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.

Здраствуйте.

Я поставил PostgreSQL 8.2.4 на Fedora Core 9. Захожу root’ом в систему и пишу в терминале
 LANG=ru_RU.utf-8 /etc/init.d/postgresql start
Появляется сообщение

 [root@localhost ~]# /etc/init.d/postgresql start
/var/lib/pgsql/DATA IS missing. USE "service postgresql initdb" TO initialize the cluster first.

Подумав, решил инициализировать БД «вручную»
 LANG=ru_RU.utf-8 /etc/init.d/postgresql initdb "/var/lib/pgsql/data"
На что Fedora выдала следующее

 LANG=ru_RU.utf.8 /etc/init.d/postgresql initdb "/var/lib/pgsql/data"
Инициализируется база данных:                              [ СБОЙ ] 

В файле /var/lib/pgsql/pgstartup.log ничего нет. В смысле пусто, его размер равен 0

Подскажите, что мне делать дальше.

Заранее спасибо.

Модератор: Модераторы разделов

LVS

Сообщения: 264
Статус: All Hail Random
ОС: Kubuntu, CentOS, Slackware

1C 8.1 не создается база в postgresql

Пакеты 1c, postgresql от etersoft поставил. Отредактировал init скрипты для них, чтобы они нормально работали, юзеров и группы и chmod’ы нужные сделал. initdb пустую базу сделала, postgres.conf редактировал, локали en_US.UTF8 en_US.ISO8859-1 стоят, в консоли psql делал
CREATE TRUSTED LANGUAGE plpgsql HANDLER language_handler_in;
REVOKE ALL ON LANGUAGE plpgsql FROM public;

Из остнаски сервер создался, а вот при попытки создания базы ошибка (через пару секунд после нажатия OK):
«Ошибка создания информационной базы:
Ошибка информационной базы
Ошибка установки или изменения национальных настроек информационной базы
Порядок сортировки не поддерживается базой данных»
Записи о базе есть, при попытки подключится к ней через 1С-клиент выдается ошибка о несоответствии региональных настроек, воспользуйтесь конструктором (он тоже ругается).

Логи:

Код:

cat postgresql-2008-07-22_120750.log
LOG: система была отключена: 2008-07-22 12:07:49 YEKST
LOG: контрольная точка: 0/61510C
LOG: redo-запись: 0/61510C; undo-запись: 0/0; отключение: TRUE
LOG: next transaction ID: 0/596; next OID: 10830
LOG: next MultiXactId: 1; next MultiXactOffset: 0
LOG: система готова к использованию
NOTICE: using pg_pltemplate information instead of CREATE LANGUAGE parameters
WARNING: nonstandard use of ' in a string literal at character 97
HINT: Use '' to write quotes in strings, or use the escape string syntax (E'...').
WARNING: nonstandard use of escape in a string literal at character 1811
HINT: Use the escape string syntax for escapes, e.g., E'rn'.
WARNING: nonstandard use of \ in a string literal at character 17
HINT: Use the escape string syntax for backslashes, e.g., E'\'.
QUERY: SELECT $1 || '\000'
CONTEXT: SQL statement in PL/PgSQL function "btrim" near line 10
WARNING: nonstandard use of \ in a string literal at character 18
HINT: Use the escape string syntax for backslashes, e.g., E'\'.
QUERY: SELECT SET_BYTE('\000\000\000\000\000\000\000\000'::bytea, 4, MOD( $1 / 16777216, 256))
CONTEXT: SQL statement in PL/PgSQL function "binrowver" near line 4
NOTICE: type "mchar" is not yet defined
DETAIL: Creating a shell type definition.
NOTICE: argument type mchar is only a shell
NOTICE: argument type mchar is only a shell
NOTICE: return type mchar is only a shell
NOTICE: type "mvarchar" is not yet defined
DETAIL: Creating a shell type definition.
NOTICE: argument type mvarchar is only a shell
NOTICE: argument type mvarchar is only a shell
NOTICE: return type mvarchar is only a shell
NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "config_pkey" for table "config"
WARNING: nonstandard use of \ in a string literal at character 145
HINT: Use the escape string syntax for backslashes, e.g., E'\'.
NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "configsave_pkey" for table "configsave"
WARNING: nonstandard use of \ in a string literal at character 149
HINT: Use the escape string syntax for backslashes, e.g., E'\'.
NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "params_pkey" for table "params"
WARNING: nonstandard use of \ in a string literal at character 145
HINT: Use the escape string syntax for backslashes, e.g., E'\'.
NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "files_pkey" for table "files"
WARNING: nonstandard use of \ in a string literal at character 144
HINT: Use the escape string syntax for backslashes, e.g., E'\'.
NOTICE: using pg_pltemplate information instead of CREATE LANGUAGE parameters
LOG: получен запрос о быстром останове
LOG: отключение в процессе
LOG: система отключена
LOG: остановка логгера

cat postgresql-2008-07-22_121157.log
LOG: database system was shut down at 2008-07-22 12:11:56 YEKST
LOG: checkpoint record is at 0/7B4010
LOG: redo record is at 0/7B4010; undo record is at 0/0; shutdown TRUE
LOG: next transaction ID: 0/653; next OID: 16737
LOG: next MultiXactId: 1; next MultiXactOffset: 0
LOG: database system is ready
NOTICE: using pg_pltemplate information instead of CREATE LANGUAGE parameters
WARNING: nonstandard use of ' in a string literal at character 97
HINT: Use '' to write quotes in strings, or use the escape string syntax (E'...').
WARNING: nonstandard use of escape in a string literal at character 1811
HINT: Use the escape string syntax for escapes, e.g., E'rn'.
WARNING: nonstandard use of \ in a string literal at character 17
HINT: Use the escape string syntax for backslashes, e.g., E'\'.
QUERY: SELECT $1 || '\000'
CONTEXT: SQL statement in PL/PgSQL function "btrim" near line 10
WARNING: nonstandard use of \ in a string literal at character 18
HINT: Use the escape string syntax for backslashes, e.g., E'\'.
QUERY: SELECT SET_BYTE('\000\000\000\000\000\000\000\000'::bytea, 4, MOD( $1 / 16777216, 256))
CONTEXT: SQL statement in PL/PgSQL function "binrowver" near line 4
NOTICE: type "mchar" is not yet defined
DETAIL: Creating a shell type definition.
NOTICE: argument type mchar is only a shell
NOTICE: argument type mchar is only a shell
NOTICE: return type mchar is only a shell
NOTICE: type "mvarchar" is not yet defined
DETAIL: Creating a shell type definition.
NOTICE: argument type mvarchar is only a shell
NOTICE: argument type mvarchar is only a shell
NOTICE: return type mvarchar is only a shell
NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "config_pkey" for table "config"
WARNING: nonstandard use of \ in a string literal at character 145
HINT: Use the escape string syntax for backslashes, e.g., E'\'.
NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "configsave_pkey" for table "configsave"
WARNING: nonstandard use of \ in a string literal at character 149
HINT: Use the escape string syntax for backslashes, e.g., E'\'.
NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "params_pkey" for table "params"
WARNING: nonstandard use of \ in a string literal at character 145
HINT: Use the escape string syntax for backslashes, e.g., E'\'.
NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "files_pkey" for table "files"
WARNING: nonstandard use of \ in a string literal at character 144
HINT: Use the escape string syntax for backslashes, e.g., E'\'.

Может кто помочь?

LVS

Сообщения: 264
Статус: All Hail Random
ОС: Kubuntu, CentOS, Slackware

Re: 1C 8.1 не создается база в postgresql

Сообщение

LVS » 23.07.2008 17:01

Подсказали добавить в конфиг строки:
escape_string_warning = off
standard_conforming_strings = on

Теперь другая ошибка:

Код:

NOTICE: using pg_pltemplate information instead of CREATE LANGUAGE parameters
ERROR: syntax error at or near "SECOND" at character 203
STATEMENT: CREATE OR REPLACE FUNCTION public.datediff(varchar, timestamp, timestamp)
RETURNS int4 AS
'
DECLARE
arg_mode alias for $1;
arg_d2 alias for $2;
arg_d1 alias for $3;
BEGIN
if arg_mode = 'SECOND' then
return date_part('epoch',arg_d1) - date_part('epoch',arg_d2) ;
elsif arg_mode = 'MINUTE' then
return ceil((date_part('epoch',arg_d1) - date_part('epoch',arg_d2)) / 60);
elsif arg_mode = 'HOUR' then
return ceil((date_part('epoch',arg_d1) - date_part('epoch',arg_d2)) /3600);
elsif arg_mode = 'DAY' then
return cast(arg_d1 as date) - cast(arg_d2 as date);
elsif arg_mode = 'WEEK' then
return ceil( ( cast(arg_d1 as date) - cast(arg_d2 as date) ) / 7.0);
elsif arg_mode = 'MONTH' then
return 12 * (date_part('year',arg_d1) - date_part('year',arg_d2))
+ date_part('month',arg_d1) - date_part('month',arg_d2);
elsif arg_mode = 'QUARTER' then
return 4 * (date_part('year',arg_d1) - date_part('year',arg_d2))
+ date_part('quarter',arg_d1) - date_part('quarter',arg_d2);
elsif arg_mode = 'YEAR' then
return (date_part('year',arg_d1) - date_part('year',arg_d2));
end if;
END
'
LANGUAGE 'plpgsql' VOLATILE;

create or replace function state_max_bytea(st bytea, inp bytea) RETURNS bytea as '
BEGIN
if st is null
then
return inp;
elseif st<inp then
return inp;
else
return st;
end if;
END;' LANGUAGE plpgsql;

create or replace function state_min_bytea(st bytea, inp bytea) RETURNS bytea as '
BEGIN
if st is null
then
return inp;
elseif st>inp then
return inp;
else
return st;
end if;
END;' LANGUAGE plpgsql;

create or replace function state_max_bool(st bool, inp bool) RETURNS bool as 'n BEGIN
if st is null or not st
then
return inp;
else
return true;
end if;
END;' LANGUAGE plpgsql;

create or replace function state_min_bool(st bool, inp bool) RETURNS bool as '
BEGIN
if st is null or st
then
return inp;
else
return false;
end if;
END;' LANGUAGE plpgsql;

CREATE OR REPLACE FUNCTION btrim(bdata bytea, blen int) RETURNS bytea AS $BODY$
DECLARE
ln int;
res bytea;
BEGIN
ln := length(bdata);
if ln < blen then
res := bdata;
for i in ln .. blen - 1
loop
res := res || '\000';
end loop;
return res;
elsif ln > blen then
return substring(bdata from 1 for blen);
else
return bdata;
end if;
END;$BODY$ LANGUAGE 'plpgsql';

CREATE OR REPLACE FUNCTION BINROWVER(P1 INT4) RETURNS BYTEA AS $BODY$
DECLARE
bytearea BYTEA;
BEGIN
bytearea := SET_BYTE('\000\000\000\000\000\000\000\000'::bytea, 4, MOD(P1 / 16777216, 256));
bytearea := SET_BYTE(bytearea, 5, MOD(P1 / 65536, 256));
bytearea := SET_BYTE(bytearea, 6, MOD(P1 / 256, 256));
bytearea := SET_BYTE(bytearea, 7, MOD(P1, 256));
RETURN bytearea;
END;$BODY$ LANGUAGE 'plpgsql';

WARNING: there is no transaction in progress

Ay49Mihas

Сообщения: 54
ОС: OpenSuSE 10.3

Re: 1C 8.1 не создается база в postgresql

Сообщение

Ay49Mihas » 24.07.2008 09:51

LVS писал(а): ↑

23.07.2008 14:22

Из остнаски сервер создался, а вот при попытки создания базы ошибка (через пару секунд после нажатия OK):
«Ошибка создания информационной базы:
Ошибка информационной базы
Ошибка установки или изменения национальных настроек информационной базы
Порядок сортировки не поддерживается базой данных»
Записи о базе есть, при попытки подключится к ней через 1С-клиент выдается ошибка о несоответствии региональных настроек, воспользуйтесь конструктором (он тоже ругается).

initdb с —encoding=UTF8 делал или нет?

LVS

Сообщения: 264
Статус: All Hail Random
ОС: Kubuntu, CentOS, Slackware

Re: 1C 8.1 не создается база в postgresql

Сообщение

LVS » 24.07.2008 12:10

Так не делал, но база создавалась так
LANG=ru_RU.utf8 /etc/init.d/postgresql start

При этом в postgres.conf:
lc_messages = ‘ru_RU.UTF-8’
lc_monetary = ‘ru_RU.UTF-8’
lc_numeric = ‘ru_RU.UTF-8’
lc_time = ‘ru_RU.UTF-8’

Сейчас попробую…. Все то же самое.

Lunnyi

Сообщения: 25

Re: 1C 8.1 не создается база в postgresql

Сообщение

Lunnyi » 24.07.2008 17:48

LVS писал(а): ↑

24.07.2008 12:10

Так не делал, но база создавалась так
LANG=ru_RU.utf8 /etc/init.d/postgresql start

При этом в postgres.conf:
lc_messages = ‘ru_RU.UTF-8’
lc_monetary = ‘ru_RU.UTF-8’
lc_numeric = ‘ru_RU.UTF-8’
lc_time = ‘ru_RU.UTF-8’

Сейчас попробую…. Все то же самое.

релиз 8.1.11.67? Тоже сейчас этим мучаюсь…

LVS

Сообщения: 264
Статус: All Hail Random
ОС: Kubuntu, CentOS, Slackware

Re: 1C 8.1 не создается база в postgresql

Сообщение

LVS » 24.07.2008 18:35

Да. Этот релиз.
Только что все заработало. Решение как всегда тривиальное: поставил другую версию postgresql, а именно 8.1.5-17.1C.
Уже подцепил тестовую базу, работает во много раз быстрее. До этого база лежала на samba сервере.

Кратко что нужно для установки 1C на slackware 12:
1. Пакеты 1С сервера конвертировать утилитой rpm2tgz
2. Установить их с помощью pkgtool
3. То же самое для пакетов postgresql (просто, contrib, pl, libs, server)
4. Отредактировать /etc/init.d/postgresql:
убрать . /etc/sysconfig/network
изменить строки, начинающиеся на $SU -l postgres -c » … ‘var’ …» на $SU postgres -c » … «var» … «
5. Отредактировать /etc/init.d/functions: runuser переделать на su
6. Права доступа:
groupadd postgres
useradd -g postgres postgres
chown -R postgres.postgres /var/lib/pgsql
groupadd usr1cv81
useradd -g usr1cv81 usr1cv81
chown -R usr1cv81.usr1cv81 /opt/1C
7. Отредактировать /usr/share/pgsql/postgresql.conf.sample
default_with_oids = on
stats_row_level = off
8. Скачать и установить PAM
http://ftp.kernel.org/pub/linux/libs/pam/l…M-1.0.1.tar.bz2
configure —prefix=/usr
make
make check
будут ошибки нужно наличие двух файлов:
/etc/pam.d/postgresql
#%PAM-1.0
auth include system-auth
account include system-auth

/etc/pam.d/other
#%PAM-1.0
auth required pam_deny.so
account required pam_deny.so
password required pam_deny.so
session required pam_deny.so

Опять make check, если все нормально make install
11. Запуск postgresql и создание базы:
LANG=ru_RU.utf8 /etc/init.d/postgresql start
Initializing database: [ OK ]
Starting postgresql service: [ OK ]
12. Меняем пароль
psql -h localhost postgres postgres
ALTER USER postgres PASSWORD ‘your_new_password’;
13. Запуск 1С:
LANG=ru_RU.utf8 /etc/init.d/srv1cv81 start

С локалями еще мутил:
#locale -a | grep en_US
en_US
en_US.ISO-8859-1
en_US.ISO8859-1
en_US.ISO88591
en_US.iso-8859-1
en_US.iso8859-1
en_US.iso88591
en_US.iso885915
en_US.utf8

Хрен знает как правильно пишется.

Вроде все.

Lunnyi

Сообщения: 25

Re: 1C 8.1 не создается база в postgresql

Сообщение

Lunnyi » 25.07.2008 09:38

По пункту 13 вопрос. Запускаю постгре без указания LANG. Потому как локаль и так ru_RU.utf8. Скорее всего в большинстве современных дистрибутивах такая же локаль. Так что тайного смысла не вижу. Если он есть — то подскажите.
LVS
А можешь скинуть дамп(схему) пустой базы? Попробую создать не через оснастку,a sql запросом. Не хочу использовать постгре 8.1 — по сравнения даже с 8.2 глючнее и тормознутее (со слов знакомых, кто мучает эту СУБД не только для 1С).

LVS

Сообщения: 264
Статус: All Hail Random
ОС: Kubuntu, CentOS, Slackware

Re: 1C 8.1 не создается база в postgresql

Сообщение

LVS » 25.07.2008 12:57

Lunnyi писал(а): ↑

25.07.2008 09:38

По пункту 13 вопрос. Запускаю постгре без указания LANG. Потому как локаль и так ru_RU.utf8. Скорее всего в большинстве современных дистрибутивах такая же локаль. Так что тайного смысла не вижу. Если он есть — то подскажите.

У меня локаль en_US. Мне так удобнее. А этим прогам говорю чтоб на русском работали, так как база русскоязычная. Возможно ragent’у и не надо указывать локаль.

Lunnyi писал(а): ↑

25.07.2008 09:38

LVS
А можешь скинуть дамп(схему) пустой базы? Попробую создать не через оснастку,a sql запросом. Не хочу использовать постгре 8.1 — по сравнения даже с 8.2 глючнее и тормознутее (со слов знакомых, кто мучает эту СУБД не только для 1С).

Могу. Только это наврятли поможет, так как по всей видимости не корректно обрабатывается эскейпинг символов.
Скинь мыло в личку, отошлю.

zlob

Сообщения: 8

Re: 1C 8.1 не создается база в postgresql

Сообщение

zlob » 08.08.2008 10:08

LVS писал(а): ↑

23.07.2008 17:01

Теперь другая ошибка:
CODE

NOTICE: using pg_pltemplate information instead of CREATE LANGUAGE parameters
ERROR: syntax error at or near «SECOND» at character 203
STATEMENT: CREATE OR REPLACE FUNCTION public.datediff(varchar, timestamp, timestamp)
RETURNS int4 AS

Мне помогло
standard_conforming_strings = off

zlob

Сообщения: 8

Re: 1C 8.1 не создается база в postgresql

Сообщение

zlob » 12.08.2008 19:23

Установка сервера 1C Предприятие 8.1 релиз 8.1.11.67 и PostgreSQL 8.2 на Slackware 12

  • Устанавливаем Slackware 12 (Полная уcтановка пакетов A,AP,D,K,L,N,TCL).
  • Имя хоста должно быть разрешимо в вашей сети. Для этого нужно настроить DNS или прописать в hosts имя хоста, как на сервере, так и на рабочих станциях. Управление сервером 1С Предприятие 8.1 из консоли по ip-адресу невозможно.

Cервер 1C Предприятие 8.1

  • Устанавливаем с диска ИТС следующие пакеты:

    1C_Enterprise-common-8.1.11-67.i386.rpm
    1C_Enterprise-common-nls-8.1.11-67.i386.rpm
    1C_Enterprise-crs-8.1.11-67.i386.rpm
    1C_Enterprise-crs-nls-8.1.11-67.i386.rpm
    1C_Enterprise-server-8.1.11-67.i386.rpm
    1C_Enterprise-server-nls-8.1.11-67.i386.rpm

    # rpm —nodeps -Uvh *
    Preparing… ########################################### [100%]
    1:1C_Enterprise-server-nl########################################### [ 17%]
    2:1C_Enterprise-common ########################################### [ 33%]
    3:1C_Enterprise-common-nl########################################### [ 50%]
    4:1C_Enterprise-crs ########################################### [ 67%]
    5:1C_Enterprise-crs-nls ########################################### [ 83%]
    6:1C_Enterprise-server ########################################### [100%]

  • Настраиваем домашний каталог у пользователя usr1cv81. В этом каталоге храняться метаданные и логи сервера 1С Предприятие 8.1.

    # mkdir -p /var/usr1cv81
    # chown -R usr1cv81.grp1cv81 /var/usr1cv81
    # usermod -d /var/usr1cv81 usr1cv81

  • Исправляем стартовый скрипт /etc/init.d/srv1cv81

    Код:

    --- srv1cv81.orig 2008-08-10 12:52:01.000000000 +0500
    +++ srv1cv81 2008-08-10 12:53:55.000000000 +0500
    @@ -171,7 +171,7 @@
    if [ -z "$user" ]; then
    $*
    else
    - $SU -s /bin/bash - $user -c "$*"
    + $SU - $user -c "$*"
    fi
    [ "$?" -eq 0 ] && successbuiltin $"$base startup" || failurebuiltin $"$base startup"
    }

  • Исправляем /etc/init.d/functions

    Код:

    --- functions.orig 2008-08-10 12:58:46.000000000 +0500
    +++ functions 2008-08-10 12:58:57.000000000 +0500
    @@ -223,7 +223,7 @@
    if [ -z "$user" ]; then
    $nice /bin/bash -c "$corelimit >/dev/null 2>&1 ; $*"
    else
    - $nice runuser -s /bin/bash - $user -c "$corelimit >/dev/null 2>&1 ; $*"
    + $nice su - $user -c "$corelimit >/dev/null 2>&1 ; $*"
    fi
    [ "$?" -eq 0 ] && success $"$base startup" || failure $"$base startup"
    }

  • Запускаем.

    # /etc/init.d/srv1cv81 start
    Starting 1C:Enterprise 8.1 server: [ OK ]

PostgreSQL 8.2

  • Скачиваем http://v8.1c.ru/overview/postgresql_patche….4-6.1C.src.rpm
  • Скачиваем ftp://ftp.software.ibm.com/software/globa…1/icu-3.4.1.tgz
  • Скачиваем ftp://ftp.kernel.org/pub/linux/libs/pam/l…M-1.0.1.tar.bz2
  • Устанавливаем Linux-PAM.

    # ./configure —prefix=/usr
    # make
    # make install

  • Устанавливаем ICU.

    # ./runConfigureICU Linux
    # make
    # make install

  • Устанавливаем исходники.

    # rpm -Uvh postgresql-8.2.4-6.1C.src.rpm

  • Создаем файл /etc/pam.d/postgresql

    Код:

    #%PAM-1.0
    auth include system-auth
    account include system-auth

  • Если будем сразу собирать, то получим такое сообщение:

    This platform is not thread-safe. Check the file ‘config.log’for the
    exact reason.

    You can use the configure option —enable-thread-safety-force to force
    threads to be enabled. But you must then run the program in
    src/test/thread and add locking function calls to your applications to
    guarantee thread safety.

  • Исправляем /usr/src/rpm/SPECS/postgresql-8.2.1C.spec

    Код:

    --- postgresql-8.2.1C.spec.orig 2008-08-10 13:45:55.000000000 +0500
    +++ postgresql-8.2.1C.spec 2008-08-10 13:45:58.000000000 +0500
    @@ -81,7 +81,7 @@
    %{!?nls:%define nls 1}
    %{!?xml:%define xml 1}
    %{!?pam:%define pam 1}
    -%{!?pgfts:%define pgfts 1}
    +%{!?pgfts:%define pgfts 0}
    %{!?runselftest:%define runselftest 0}

    Summary: PostgreSQL client programs and libraries

  • Собираем.

    # rpmbuild —nodeps -ba /usr/src/rpm/SPECS/postgresql-8.2.1C.spec

  • Создаем пользователя.

    # groupadd postgres
    # useradd -g postgres postgres

  • Устанавливаем получившиеся пакеты.

    # rpm —nodeps -Uvh /usr/src/rpm/RPMS/i386/postgresql-8.2.4-6.1C.i386.rpm
    /usr/src/rpm/RPMS/i386/postgresql-libs-8.2.4-6.1C.i386.rpm
    /usr/src/rpm/RPMS/i386/postgresql-server-8.2.4-6.1C.i386.rpm
    /usr/src/rpm/RPMS/i386/postgresql-contrib-8.2.4-6.1C.i386.rpm
    /usr/src/rpm/RPMS/i386/postgresql-plperl-8.2.4-6.1C.i386.rpm
    /usr/src/rpm/RPMS/i386/postgresql-plpython-8.2.4-6.1C.i386.rpm
    /usr/src/rpm/RPMS/i386/postgresql-pltcl-8.2.4-6.1C.i386.rpm

  • Исправляем /etc/rc.d/init.d/postgresql

    Код:

    --- postgresql.orig 2008-08-10 14:42:38.000000000 +0500
    +++ postgresql 2008-08-10 14:51:37.000000000 +0500
    @@ -81,7 +81,9 @@
    TYPESET=`typeset -f|grep "declare"`

    # Get config.
    -. /etc/sysconfig/network
    +if [ -r /etc/sysconfig/network ]; then
    + . /etc/sysconfig/network
    +fi

    # Find the name of the script
    NAME=`basename $0`
    @@ -180,7 +182,7 @@
    fi

    echo -n "$PSQL_START"
    - $SU -l postgres -c "$PGENGINE/postmaster -p '$PGPORT' -D '$PGDATA' ${PGOPTS} &" >> "$PGLOG" 2>&1 < /dev/null
    + $SU postgres -c "$PGENGINE/postmaster -p '$PGPORT' -D '$PGDATA' ${PGOPTS} &" >> "$PGLOG" 2>&1 < /dev/null
    sleep 2
    pid=`pidof -s "$PGENGINE/postmaster"`
    if [ $pid ] && [ -f "$PGDATA/postmaster.pid" ]
    @@ -198,7 +200,7 @@

    stop(){
    echo -n $"Stopping ${NAME} service: "
    - $SU -l postgres -c "$PGENGINE/pg_ctl stop -D '$PGDATA' -s -m fast" > /dev/null 2>&1 < /dev/null
    + $SU postgres -c "$PGENGINE/pg_ctl stop -D '$PGDATA' -s -m fast" > /dev/null 2>&1 < /dev/null
    ret=$?
    if [ $ret -eq 0 ]
    then
    @@ -233,7 +235,7 @@
    # Clean up SELinux tagging for PGDATA
    [ -x /sbin/restorecon ] && /sbin/restorecon "$PGDATA"
    # Initialize the database
    - $SU -l postgres -c "$PGENGINE/initdb --pgdata='$PGDATA' --auth='ident sameuser'" >> "$PGLOG" 2>&1 < /dev/null
    + $SU postgres -c "$PGENGINE/initdb --pgdata='$PGDATA' --auth='ident sameuser'" >> "$PGLOG" 2>&1 < /dev/null
    # Create directory for postmaster log
    mkdir "$PGDATA/pg_log"
    chown postgres:postgres "$PGDATA/pg_log"
    @@ -253,7 +255,7 @@
    }

    reload(){
    - $SU -l postgres -c "$PGENGINE/pg_ctl reload -D '$PGDATA' -s" > /dev/null 2>&1 < /dev/null
    + $SU postgres -c "$PGENGINE/pg_ctl reload -D '$PGDATA' -s" > /dev/null 2>&1 < /dev/null
    }

    # This script is slightly unusual in that the name of the daemon (postmaster)

  • Создаем файл /etc/sysctl.conf

    Код:

    kernel.shmmax = 134217728
    kernel.shmall = 2097152

  • Применяем эти параметры.

    # /sbin/sysctl -e -p /etc/sysctl.conf

  • Инициализируем базу данных.

    # LANG=ru_RU.UTF-8 LC_COLLATE=ru_RU.UTF-8 /etc/init.d/postgresql initdb
    Initializing database: [ OK ]

  • Временно модифицируем /var/lib/pgsql/data/pg_hba.conf

    Код:

    --- pg_hba.conf.orig 2008-08-10 15:01:35.046006675 +0500
    +++ pg_hba.conf 2008-08-10 15:02:27.050964847 +0500
    @@ -67,4 +67,5 @@
    #host all all 127.0.0.1/32 ident sameuser
    # IPv6 local connections:
    #host all all ::1/128 ident sameuser
    +host all all 127.0.0.1/32 trust
    host all all 0.0.0.0/0 md5

  • Запускаем PostgreSQL.

    # /etc/init.d/postgresql start

  • Устанавливаем пароль.

    # psql -h localhost postgres postgres
    ALTER USER postgres PASSWORD ‘your_new_password’;

  • Возвращаем обратно /var/lib/pgsql/data/pg_hba.conf
  • Перезапускаем PostgreSQL.

    # /etc/init.d/postgresql restart
    Stopping postgresql service: [ OK ]
    Starting postgresql service: [ OK ]

И наконец…

Ну и в конце создаем симлинки в /etc/rc[0-6].d чтоб запускалось/останавливалось автоматом ( Да, да у Slackware есть поддержка SysV)

Дополнительно можно подправить /var/lib/pgsql/data/postgresql.conf

escape_string_warning = off
effective_cache_size = 1024MB (Как сказано у 1С, не менее половины оперативной памяти)

Ну вот и все. Можно создавать кластер и базы в консоли.
Я все это проделал, сейчас тестирую на рабочей базе.

zlob

Сообщения: 8

Re: 1C 8.1 не создается база в postgresql

Сообщение

zlob » 13.08.2008 16:49

zlob писал(а): ↑

12.08.2008 19:23

Ну вот и все. Можно создавать кластер и базы в консоли.
Я все это проделал, сейчас тестирую на рабочей базе.

На следующий же день. В логах все хорошо, только НДФЛ считается неправильно. Выгрузил в MSSQL — все расчитывает правильно. Вот уроды.

zlob

Сообщения: 8

Re: 1C 8.1 не создается база в postgresql

Сообщение

zlob » 15.08.2008 09:55

bsavelev писал(а): ↑

14.08.2008 10:54

это 100% бага.
надо в сапорт писать

Вот начиления зп за июль

Работник Начисление Результат
Работник1 Оклад по дням 6000
Работник1 Премия 3955
Работник2 Оклад по дням 15000
Работник2 Премия 14917
Работник3 Оклад по дням 7000
Работник3 Премия 4744

Вот так выглядит расчет НДФЛ на Linux Slacware 12 + PostgreSQL 8.2

Работник Налог
Работник1 1242
Работник1 52
Работник2 78
Работник2 3811
Работник2 78
Работник3 1527

Вот так выглядит расчет НДФЛ на Windows 2003 + MSSQL 2005

Работник Налог
Работник1 1294
Работник1 -52
Работник2 78
Работник2 3889
Работник2 -78
Работник3 1527

Понравилась статья? Поделить с друзьями:
  • Ошибка при создании информационной базы информационная база уже существует
  • Ошибка при создании информационной базы информационная база разрушена
  • Ошибка при создании информационной базы выполнении операции информационной базой
  • Ошибка при создании информационной базы microsoft sql server
  • Ошибка при создании информационной базы 80004005