- Сервер 1с + MSSQL и PostgreSQL одновременно
- База знаний Try 2 Fix beta
- Настройка Сервера 1С:Предприятие 8.3 и PostgreSQL 9.4.2-1.1C. Полная инструкция
- Этап 0. Вводные данные.
- Этап 1. Установка Сервера 1С:Предприятие (64-bit) для Windows
- Этап 2. Установка PostgreSQL и pgAdmin.
- Этап 3. Создание информационной базы 1С.
- Эти статьи будут Вам интересны
- Ошибка соединения с сервером 1С:Предприятие 8.3: server_addr=tcp://localhost:1540 descr= Сервер недоступен (Не отвечает, завершается аварийно или порт занят другим приложением)
- Запуск Google Chrome в полноэкранном режиме
- Honeywell Metrologic MS3780 не считывает штрих-код EAN13 + EAN5
- База знаний «Try 2 Fix» Beta
- Устанавливаем PostgreSQL
- Необходимые компоненты для установки
- Установка сервера приложений 1С
- Установка PostgreSQL в стандартном виде, достаточном для запуска 1С без дополнительных настроек
- Установка Postgre с выбором места хранения кластера
- Создание новой базы данных 1С на сервере с PostgreSQL
- Указание папки хранения базы данных
- Поднимаем сервер 1C 8.x (Windows 2008 R2 + PostgreSQL)
- Установка
- Установка PostgreSQL
- Установка, настройка 1с
- Создание Базы на сервере 1с и в SQL
- Бекапы (резервное копирование) БД Postgree
- Восстановление БД Postgree
- Обслуживание БД Postgree
Сервер 1с + MSSQL и PostgreSQL одновременно
Хочу развернуть 1с таким образом, чтобы Сервер приложений 1с был на одной машине + СУБД Postgre на другой + СУБД MSSQL на третьей машине.
Может ли сервер приложений 1с работать с разными СУБД одновременно, т.е. часть баз будут в Postgre а часть в MSSQL?
(5) >> большинство офиц франчей не умеют Postgres готовить в отличие от MSSQL.
(1) >> мсье знает толк в извращениях.
А почему бы и нет?
Почему нельзя рассматривать вариант установки отдельного сервера БД в качестве варианта масштабирования?
Допустим у вас большое количество баз, с которыми работают разные пользователи.
Тратиться на покупку дополнительных серверов приложений (1С) и лицензий на MS-SQL вы не хотите или не готовы прямо сейчас.
А вот раскидать базы по различным серверам БД вполне можно без особых финансовых затрат (не считая железа, разумеется), если дополнительные сервера БД будут под управлением бесплатно лицензируемых СУБД типа PgSQL.
Ну и надо учитывать особенности, описанные в (24) и (25).
Если эти сервера не в одном кластере серверов 1С, то синхронизации сервисов между ними не будет.
Все те сервисы, которыми рулит менеджер кластера серверов (лицензирование, журналы регистрации, времени, сеансовых данных, полнотекстового поиска, транзакционных блокировок, заданий, нумерации объектов, блокировки объектов и пр.) без синхронизации убьют базу рано или поздно с высокой долей вероятности. Ну или по меньшей мере будут конфликтовать друг с другом.
Но если эти сервера в едином кластере находятся, то проблем нет.
База знаний
Try 2 Fix beta
Настройка Сервера 1С:Предприятие 8.3 и PostgreSQL 9.4.2-1.1C. Полная инструкция
В этой инструкции мы расскажем (и покажем) как настроить связку 1С:Предприятие 8.3 и PostgreSQL 9.4.2 с момента установки обоих сервисов, вплоть до создания информационной базы. Про тюнинг данной связки можно прочитать в другой нашей статье.
Этапы, которые нам предстоит пройти:
Подробнее под катом!
Этап 0. Вводные данные.
Имя сервера — 1CServer
Имя учётной записи сервера — Администратор
Пароль учётной записи — 123456Ab
Имя учётной записи 1С на сервере — USR1CV8
Пароль учётной записи 1С на сервере — 123456Cd
Имя учётной записи PostgreSQL на сервере — postgres
Пароль учётной записи PostgreSQL на сервере — 123456Ef
Имя суперюзера PostgreSQL — postgres
Пароль суперюзера PostgreSQL — 1234
Имя тестовой базы данных — testdb
Этап 1. Установка Сервера 1С:Предприятие (64-bit) для Windows
Этап 2. Установка PostgreSQL и pgAdmin.
Этап 3. Создание информационной базы 1С.
Ещё раз напоминаем, что PostgreSQL можно неплохо разогнать. Подробности в нашей статье.
И не забудьте про резервное копирование баз данных 1С!
Если с базой данных возникли какие-то проблемы, возможно, Вам поможет внутреннее или внешнее тестирование.
Базы данных 1С можно публиковать на веб-серверах!
Эти статьи будут Вам интересны
Ошибка соединения с сервером 1С:Предприятие 8.3: server_addr=tcp://localhost:1540 descr= Сервер недоступен (Не отвечает, завершается аварийно или порт занят другим приложением)
После установки сервера 1С:Предприятие с платформой 8.3.13.1690 на Windows 10, а потом и на Windows Server 2016, мы получили неожиданную для нас ошибку. При создании «Центрального сервера 1С:Предприятие 8.3» начало появляться сообщение: «Ошибка соединения с сервером 1С:Предприятие 8.3: server_addr=tcp://localhost:1540 descr= Сервер недоступен (Не отвечает, завершается аварийно или порт занят другим приложением) line 1089 file=srcDataExchangeTcpClientImpl.cpp». Рассказываем, почему это происходит и как то победить!
Запуск Google Chrome в полноэкранном режиме
Одному из наших клиентов (сеть пиццерий) было необходимо, чтобы на мониторах в залах при запуске Windows на весь экран открывалась определённая страница в Интернете. Проще простого.
Honeywell Metrologic MS3780 не считывает штрих-код EAN13 + EAN5
У одного нашего клиента множество похожего товара, но всё-таки разного. Поэтому производитель печатает на товаре не привычный штрих-код EAN13, а EAN13 с дополнительными 5 символами, то есть EAN13 + EAN5. И так случилось, что сканер не считывает эти дополнительные символы. Решаем эту проблему.
База знаний «Try 2 Fix» Beta
Все материалы свободны
к распространению с обязательным
указанием источника
Устанавливаем PostgreSQL
Необходимые компоненты для установки
СУБД PostgreSQL распространяется бесплатно и входит в комплект поставки сервера приложений «1С». Сервер приложений «1С:Предприятие 8» поставляется в двух вариантах: 32-разрядный и 64-разрядный. Postgre может работать с обоими.
Итак, имеем на руках дистрибутивы:
Статья разбита на 5 разделов:
1) Установка сервера 1C.
2) Установка PostgreSQL в стандартном виде, достаточном для запуска 1С без дополнительных настроек.
3) Установка PostgreSQL с выбором папки хранения кластера.
4) Создание новой информационной базы 1С.
5) Указание папки хранения файлов базы данных на сервере СУБД.
Перед установкой обязательно прочитайте всю статью целиком!
Установка сервера приложений 1С
Запускаем setup.exe из папки с дистрибутивом сервера 1С.
Далее. далее. До выбора способа запуска сервера приложений:
В том случае, если вы установите сервер приложений не как сервис, нужно будет вручную его запускать каждый раз. Требуется такой вариант редко. Устанавливаем как службу (сервис), и решаем, под каким пользователем он будет запускаться. Из соображений безопасности лучше создать отдельного пользователя USR1CV82, а не разрешать сервису работать под полными правами.
После установки сервера приложений система предложит установить драйвер ключа защиты HASP. Соглашаемся:
Если сообщение будет другим, в системе, скорее всего, остались «хвосты» от предыдущих установок драйверов HASP. Удаляйте их все, и пробуйте заново.
Готово, сервер приложений «1С:Предприятие 8» мы установили успешно.
Установка PostgreSQL в стандартном виде, достаточном для запуска 1С без дополнительных настроек
Выбираем русский язык и двигаемся дальше.
Пока все просто, «далее».
Опции установки можно не менять, 1С работать будет. Далее.
Postgre, как и сервер 1С, может сам создать пользователя, под которым будете запускаться служба. Обращаю ваше внимание на то, что если указать учетную запись с правами администратора, то служба корректно работать не будет. Обязательно создавайте нового пользователя.
Следующее окно установки.
Инициализируем кластер. Если у нас сервер баз данных и сервер приложений 1С находятся на разных компьютерах, тогда устанавливаем галочку «Поодерживать подсоединения с любых IP», иначе не трогаем. Обязательно указываем кодировку UTF8. Создаем суперпользователя СУБД. Далее…
Уже почти все. Далее.
Для начальной работы нам ничего дополнительного не нужно, снимаем галочку, завершаем установку.
Установка Postgre с выбором места хранения кластера
Приступаем к установки Postgre и выполняем все шаги до тех пор, пока нам не предложат инициализировать кластер:
Снимаем галочку «Инициализировать кластер базы данных» и нажимаем «Далее».
Снимаем галочку «По выходу запустить Stack Builder» и завершаем установку.
Дальше начинаем колдовать в командной строке:
1. Необходимо выдать полные права на папку в которую мы установили PostgreSQL, обычно это C:\Program Files\PostgreSQL
2. Из под админских прав запускаем cmd. Если это делаете в win7, то запускаем от Администратора.
3. Создаем папку где будет храниться кластер. Например d:\postgredata.
4. Проводим инициализацию кластера вручную с указанием пути где он будет находиться.
5. Удаляем службу PostgreSQL, которая была установлена в ходе установки.
sc delete pgsql-9.1.2-1.1C-x64
Где pgsql-9.1.2-1.1C-x64 – Это название службы. Если не знаете название точно, можно посмотреть свойствах службы “PostgreSQL Database Server…” (Пуск – Панель управления – Администрирование – Службы )
6. Создаем новый сервис с указанием нашего кластера
7. Теперь заходим в службы. Пуск – Панель управления – Администрирование – Службы и стартуем нашу службу.
Создание новой базы данных 1С на сервере с PostgreSQL
Есть несколько вариантов создания базы данных. Можно попробовать создавать базу через pgAdmin3, консоль администрирования серверов 1С. Но тут вы столкнетесь с массой непонятных вопросов и кучей ошибок, ответы на которые будете долго искать. Оставьте это для специалистов. Наша задача получить работоспособную базу с минимальными усилиями. Опишем самый простой путь добиться этого.
Запускаем клиент 1С.
Создаем новую информационную базу. Далее.
Выбираем шаблон новой базы. Далее.
Придумываем название базы, указываем «На сервере 1С:Предприятия», далее.
Кластер серверов 1С:Предприятия – localhost, если мы создаем базу на том же компьютере, где установлен сервер 1С, или имя сервера приложений 1С, если на другом.
Тип СУБД – Выбираем PostgreSQL.
Имя базы данных – с таким название будет создана база в PostgreSQL.
Пользователь, пароль – имя пользователя, которого мы указывали как суперпользователя при установке PostgreSQL. Обязательно поднимаем галочку «Создать базу данных в случае ее отсутствия».
Готово. Правильно установленная система дальше все сделает сама.
Указание папки хранения базы данных
Итак, мы создали базу. В большинстве случаев на этом установка заканчивается. Однако, если баз много, и есть несколько дисковых массивов для разных групп баз, нужно указать, где физически должны располагаться базы. Чтобы сделать это, запускаем pgAdmin3 из Пуск – Программы – PostgreSQL. Подключаемся к нашему серверу.
При первом подключении Postgre попросит пароль для пользователя postgres (которого мы создавали при установке).
Поставим галочку «сохранить пароль», чтобы больше не спрашивал.
Создаем новый TableSpace, это будет та папка, в которой будут храниться наши базы.
Указали место хранения файлов базы. Ок.
Теперь открываем свойства уже созданной ранее базы данных, размещение которой мы хотим изменить.
Как заставить Сервер 1С (что работает на Windows), увидеть в сети сервер PostgreSQL на Linux UBUNTU?
Конечно, данная тема также подымается и на курсе: Администратор 1С!
Собственно решить такие проблемы как:
При установке на один физический сервер, “Cервера 1С” (кластер серверов) + СУБД PostgreSQL проблем обычно не возникает. И “Сервер 1С” прекрасно видит PostgreSQL, новые информационные базы создаются, и все работает по умолчанию, конечно если поставили птичку во время установки СУБД на Windows – “Разрешать подключения с любых IP адресов”.
Но совсем другая история, когда PostgreSQL у нас работает на Linux!
Ведь в процессе установки PostgreSQL на Linux подобных “птичек” нет )
Как решить проблему?
На самом деле все довольно просто!
Проверим в начале c какого IP принимаются подключения, и какой порт слушает сервис PostgreSQL.
Тут нам поможет команда:
На картинке ниже, мы четко видим, что наш PostgreSQL слушает только localhost – 127.0.0.1 и порт по умолчанию 5432.
Выражаясь простым языком, “Сервер 1С” может работать в паре с СУБД, только на этом севере (хосте), при текущих настройках (По умолчанию, после установки “Постгреса” на этот сервер).
И так, теперь разобравшись, что проблема действительно есть в настройках PostgreSQL, можно приступить к ее решению!
Сперва нам нужно найти конфигурационный файл postgresql.conf
Местоположение этого файла зависит от версии СУБД PostgreSQL (На примере использую сборку от компании Postgres Professional – PostgreSQL 10.5, сборку установил на UBUNTU server 18.04 LTS).
Найти файл очень просто, используем команду:
Нас интересует все что мы видим после -D /var/lib/pgpro/1c-10/data/
Здесь в каталоге /data/ и лежит наш файл postgresql.conf
Идем в этот каталог, откроем для редактирования postgresql.conf, и внесем нужные правки.
Для передвижения по каталогам и редактированию файлов на UBUNTU server 18.04, я использую MC (Midnight Commander).
(Выбрав файл postgresql.conf) давим клавишу F4.
Если Вы хотите больше узнать о технической стороне 1С, тогда регистрируйтесь на первый бесплатный модуль курса: Администратор 1С >>>
Поднимаем сервер 1C 8.x (Windows 2008 R2 + PostgreSQL)
Установка
Установка PostgreSQL
Качаем с сайта 1с последнюю сборку PostgreSQL 64-bit 9.1.2-1.1C (актуально и до 9.4), распаковываем архив, запускаем msi-пакет, тот что без int, имеет не большой размер файла.
Опции установки оставляем по умолчанию.
Нажимаем еще два раза Далее и дожидаемся окончания установки.
Затем идем в StartAll ProgramsPostgreSQL 9.1.2-1.1C(x64). Запускаем утилиту администрирования pgAdmin III. Пробуем подключится к БД. Вводим пароль, который указывали во время установки.
И получаем следующую ошибку: Error connecting to the server: FATAL: password authentication failed for user «postgres».
Довольно неожиданно, с учетом того, что пароль был набран верно. Решил поковырять pg_hba.conf, но на первый взгляд там все хорошо.
Решил, поменять метод авторизации с md5 на trust. Перезапускаю сервис и снова пробую подключится к БД. На этот раз получаю такое сообщение.
Действительно на сайте pgAdmin доступна уже более новая версия. После чего подключение к БД завершается успехом. Помнится, ранее md5 не вызывал подобных проблем, видимо данный глюк действительно связан со старой версией pgAdmin’a.
Установка, настройка 1с
Для установки отметим, следующие компоненты: 1С:Предприятие, Сервер 1С:Предприятия, Модули расширения веб-сервера, Администрирование сервера 1С:Предприятия.
На этапе, установки «Установить 1С Предприятие как сервис», задаем пароль пользователю USR1C82.
Вход в систему как сервис (Log on as a service), Вход в систему как пакетное задание (Log on as a batch job). Посмотреть можно в Local Computer PolicyComputer ConfigurationWindows SetingsSecurity SetingsLocal PoliciesUser Right Assigments. Запускаем оснастку Администрирование серверов 1С Предприятие, смотрим что кластер поднялся, и висит на 1541 порту. На вкладке «Рабочие серверы» так же присутствует наш сервер.
Создание Базы на сервере 1с и в SQL
Теперь, можно добавить базу на сервер 1С. Для этого переходим на вкладку « Информационные базы» щелкаемся правой кнопкой и выбираем New — Информационная база. Задаем необходимые параметры для подключения к серверу PostgreSQL. Нажимаем ОК.
Запускаем 1С: Предприятие. Выбираем, добавить существующую информационную базу на сервере.
Далее, задаем параметры для подключения. Нажимаем «Далее» и наконец «Готово».
Операцию по созданию базы, можно проделать напрямую из 1С: Предприятия. Для этого при запуске, выбираем пункт «Создание новой информационной базы».
Для подключения клиентов 1С к серверу извне и работы сервера баз данных, на файрволе, должны быть открыты следующие порты:
Агент сервера ( ragent) — tcp:1540 Главный менеджер кластера ( rmngr) — tcp:1541 Диапазон сетевых портов, для динамического распределения рабочих процессов — tcp:1560-1591, tcp:5432 — Postgresql. Создадим правило через стандартный интерфейс, либо с помощью команды:
Теперь с другого компьютера мы спокойно запускаем клиент 1С:Предприятия, добавляем существующую информационную базу newdb. Не забываем про лицензии, программной / аппаратной защиты. Теперь, можем загрузить тест Гилева и померить производительность нашей системы.
Бекапы (резервное копирование) БД Postgree
Запускаем утилиту администрирования pgAdmin III, щелкаемся правой кнопкой по нужной базе данных. Выбираем »Резервное копирование».
Выбираем формат (Настраиваемый (степень сжатия от 0 до 9), Tar, Простой, Каталог). По степени сжатия, лучше всего сжимает «настраиваемый формат» любой степени сжатия, затем «каталог», потом «простой» и наконец «tar». Кодировку указываем UTF8, имя роли postgresql. Все дополнительные опции оставляем по умолчанию. Нажимаем кнопку «Резервная копия». В поле «Сообщения» отображается список всех произведенных операций с кодом завершения. Если 0, то успех. Здесь же можно подсмотреть, как запустить подобную операцию из командной строки.
Соответственно, скрипт автоматического резервного копирования, который мы добавим в планировщик может выглядеть примерно следующим образом:
«C:\Program Files\PostgreSQL\9.4.2-1.1C\bin\pg_dump.exe» —host localhost —port 5432 —username «user» —no-password —role «role» —format custom —blobs —compress 7 —encoding UTF8 —verbose —file «D:\BackUps\BaseName.bkp» «BaseName«
Внимание! Вставив такую команду в командную строку, pg_dump спросит у вас пароль для доступа, а это не удобно, если вы хотите запускать эту команду планировщиком. Для того чтобы пароль не запрашивался надо подложить текстовый файл pgpass.conf тому пользователю, под которым бекап делается. Если system, то сюда: C:\Documents and Settings\Default User\Application Data\postgresql\pgpass.conf А в файле написать:
localhost:5432:*:user:password
Восстановление БД Postgree
Для восстановления, выбираем базу, в которую хотим восстановить данные из резервной копии, желательно в пустую. Щелкаемся правой кнопкой и выбираем «Восстановление». Задаем файл бэкапа, имя роли: postgres, нажимаем «Восстановить»
где, testdb — пустая база, в которую восстанавливается архив резервной копии.
Обслуживание БД Postgree
Команда VACUUM (Сжатие):
Последовательно чистит все таблицы базы данных, подключенной в настоящий момент, удаляет временные данные и освобождает место на диске. Чаще всего команда VACUUM выполняется именно для получения максимального объема свободного дискового пространства на диске и увеличения скорости доступа к данным.
VACUUM — помечает место, занимаемое старыми версиями записей, как свободное. Использование этого варианта команды, как правило, не уменьшает размер файла, содержащего таблицу, но позволяет не дать ему бесконтрольно расти, зафиксировав на некотором приемлемом уровне. При работе VACUUM возможен параллельный доступ к обрабатываемой таблице. Существует несколько дополнительных опций использования VACUUM : VACUUM FULL, VACUUM FREEZE, VACUUM ANALYZE.
VACUUM FULL — пытается удалить все старые версии записей и, соответственно, уменьшить размер файла, содержащего таблицу. Этот вариант команды полностью блокирует обрабатываемую таблицу.
VACUUM FREEZE — Если VACUUM FULL удаляет «мусор» из таблиц и перемещает записи так, чтобы таблицы располагались на диске компактно и состояли из наименьшего числа фрагментов, при этом сжатие выполняется долго и блокирует записи, то VACUUM FREEZE просто удаляет «мусор» из таблиц, но сами записи не перемещает, поэтому выполняется быстрее и не блокирует записи. В настоящий момент эту опцию заменяет autovacuum — автоматическая сборка мусора в postgresql.conf плюс несколько дополнительных опций расширяющих функциональность.
VACUUM ANALYZE — Если в базе есть таблицы, данные в которых не изменяются и не удаляются, а лишь добавляются, то для таких таблиц можно использовать отдельную команду ANALYZE. Также стоит использовать эту команду для отдельной таблицы после добавления в неё большого количества записей.
Команда ANALYZE (Анализ):
Служит для обновления информации о распределении данных в таблице. Эта информация используется оптимизатором для выбора наиболее быстрого плана выполнения запроса. Обычно команда используется в связке с VACUUM ANALYZE.
Команда REINDEX (переиндексация):
Используется для перестройки существующих индексов. Использовать её имеет смысл в случае
— постоянного увеличения его размера.

























































