Статья получилась большой, придется ее разделить, иначе запутаете советами!
Т.к. это вопрос надо уже рассмотреть с черырех сторон.
Здесь рассматриваем "1С и Postgres 2024 для изучения" если ты сам по себе (и у тебя нет ИТС).
1С и Postgres 2024 для работы (маленькие организации, средние и большие) с ИТС.
Это рассмотрим в другой статье.
Просьба дочитывать статьи до конца. Всё, что Вы будете делать сами, делайте, но на свой страх и риск !!!
Информация предназначена для увеличения кругозора (изучения), желательно использовать на первых порах "тестовую среду", пока не разберётесь, а не "нужный" (рабочий) ПК (или сервер).
В статье описаны: какие проблемы возникли у меня (начинающего программиста в 1С) с ними можете столкнуться и Вы, первый раз устанавливая Postgres (чтобы он заработал с 1С); а также где его взять (на каких условиях) и что нужно еще ...
1) Где скачать Postgres:
1.1) 1С:Комьюнити https://developer.1c.ru/
Продукты/1С:Предприятие/Комьюнити-лицензии (бесплатно для изучения)
- PostgreSQL для Linux 64-bit (DEB)
Версия: 15.5-10.1cДистрибутив СУБД PostgreSQL для DEB-based Linux-систем (64-bit)
- PostgreSQL для Windows (x64)
Версия: 15.5-10.1cДистрибутив СУБД PostgreSQL для Windows (64-bit)
- PostgreSQL для Linux 64-bit (RPM)
Версия: 15.5-10.1cДистрибутив СУБД PostgreSQL для RPM-based Linux-систем (64-bit)
1.2) С сайта "отщепенцев" https://1c.postgres.ru/ (бесплатно для изучения и небольших проектов)
Нужно будет пройти простую регистрацию на сайте, потом придет письмо с инструкциями (для Linux скрипт .sh)
1.3) По 1С:ИТС - платно (если есть)
у 1C PostgreSQL v: | 16.2-3.1C | от 18.04.2024 | версии | уже | старые |
https://releases.1c.ru/total | 15.5 | 14.10 | 13.13 | 12.17 | 11.22 |
1.4) С оф. сайта https://www.postgresql.org/ (бесплатно, но не факт, что будет нормально работать с 1С)
1.5) В любом Линуксе, есть уже (но см. предыдущий пункт)
2) Куда установить PostgreSQL от 1C (v15.5):
Его лучше устанавливать на Линукс Ubuntu 22.04 (файловая система ext4), я б добавил еще: "на чистую ОС".
Для тестов (изучения) можно и на Windows, но он плохо работает с большим количеством маленьких файлов (которые в основном и будут им использоваться и 1С).
3) Что еще нужно (для учебных целей):
3.1.1) Еще один компьютер (сервер, должен быть мощнее), но нам подойдет любой - это чтобы "по-взрослому" ...
3.1.2) Если его нет, не беда, можно воспользоваться виртуалкой https://www.virtualbox.org/
(Настроить \ Сеть |Тип подключения: Сетевой мост), в Windows есть Hyper-V. Но это требует хорошее железо с поддержкой виртуализации и включенным параметром в BIOS (и компонентой).
3.1.3) можно установить всё и на один компьютер (тогда будет "localhost")
3.2) "Кластер серверов 1С: Предприятия 8" (это как бы много мощных "компьютеров"), звучит серьезно ...
Но на самом деле это небольшая программка (непонятно, зачем большинству нужная), которая устанавливается всеми для клиент-серверной архитектуры (базы, это в довесок к SQL-серверу ;-) при установке 1С и входит в любой комплект поставки (по-моему, кроме учебной и базовой версий), надо только поставить при установке галочку напротив.
3.3) Нормально настроенную (гигабитную) сеть ("звезда"), при этом компьютеры должны видеться в сетевом окружении проводника системы и отвечать на команду (в терминале) ping ИмяВашегоПК ( кроме п.3.1.3 тут: ping localhost ). Показывает доступность компьютера и время отклика: чем меньше, тем лучше (<1мс).
(Осторожно с этим: Даже старый компьютер уже имеет гигабитную сетевую карту. Поэтому напрашивается соединить, два компьютера напрямую, специально обжатым для этого 8 жильным кабелем. А для связи с миром, через интернет, можно использовать USB-интернет адаптер или др. дешевую сетевую, т.к. стоят они 300...600 руб)
3.4) еще pgAdmin https://www.pgadmin.org/
Нужная программа, она облегчает доступ к базе.
4) Проблемы при установке
Немного предыстории: на дворе хороший летний день, да еще выходной. Решил я начать изучать клиент-серверный вариант работы 1C с SQL, имея работающий настроенный Linux "сервер" с Postgres на базе старого компьютера. Мне и в голову не пришло, что можно так "увлекательно" провести все выходные.
А теперь поподробнее, может, это пригодится и вам:
lsb_release -a
Distributor ID: Linuxmint # это как бы "дочка" Ubunt-ы (с Postgres 14)
Description: Linux Mint 21.3 # одна из самых популярных Линукс ОС (среди начинающих)
Codename: virginia
4.1) проблема: 1С сама и через "кластер" базу создает, а потом к ней не подключается ("не та база" блин ;-)
4.2) скачал п. 1.1 от 1С:Комьюнити, Postgres не установился ("не удовлетворенные зависимости"...)
Версия: 15.5-10.1cДистрибутив СУБД PostgreSQL для DEB-based Linux-систем (64-bit)
4.3) с оф. сайта Postgres просто предлагает установить "штатный"! Постгре командой:
sudo apt-get install postgresql
4.4) пробовал с сайта Ubunt-ы (тоже куча не "удовлетворенных зависимостей")
4.5) присланный скрипт.sh "отщепенцев" сообщил мне, что у меня "не та система" (и это якобы улучшенный платный продукт ;-)
4.6) захотел попробовать под тестовым Виндовс (запустил виртулку) и 1С:Комьюнити Postgres
/PostgreSQL/15.5-10.1C/postgresql-15.5-10.1C_x64/
Я стараюсь большим программам выделять (создавать) отдельный виртуальный диск.
Мало того, что она упорно ставится на диск "С", так еще и не заработала ! И Виндовс постоянно "ругалась":
- не запустилась служба;
- произошел конфликт портов;
- и что "vcredist_x64.exe" старая версия.
Вывод лично для себя я сделал, что создателям программ как 1С (так и Postgres) абсолютно параллельно, что у тебя уже что-то может быть установлено на компьютере и что не всем изучающим хватит время и терпения разобраться с их "недоделками".
Проще создать в виртуалке, и установить чистую ОС Линукс Ubuntu 22.04 (файловая система ext4 - установивается обычно сейчас, если устанавливать систему с настройками по умолчанию на весь диск) для клиент-серверного варианта (не удивлюсь еще, что в версии Server, т.е. без графического интерфейса вообще).
(или для "localhost", все на одной системе: Виндовс ) версию postgresql-15.5 (1С:Комьюнити)
5) Сокращения
5.1) ОС - операционная система, по сути та же программа для "железа" без графического интерфейса (ГИ).
В народе больше известная как Виндовс, но есть и другие Андроид (Линукс), МакОС, FreeDOS.
5.2) BIOS - тоже программа, для первичного тестирования и опроcа железа, но выполняется до ОС. Содержит еще и настройки для технически грамотных людей.
Не забываете делать резервные копии (если информация нужна).
6) Команды
(которые я уже использавал, отсортированы по популярности, приведены ниже)
6.1) Команды Linux (Ubuntu) "сервер"
sudo apt-get update # обновляет информацию о пакетах, потом на их основе:
sudo apt-get upgrade # устанавливаются новые версии программ
ls #
cd НазваниеПапкиКудаХотитеПерейти # например: ~Загрузки
lsb_release -a # выводит информацию о (дистрибутиве) системы
hostnamectl # выводит информацию о ПК и ОС
sudo dpkg -i НазваниеСкаченногоПакета.deb # установка "внешних" пакетов (или указать явно путь до папки)
ssh ИмяПользователя@IPадресс # для подключения из терминала (командной строки)
sudo su - postgres # меняем пользователя для Постгре
psql # Постгре на "минималках
postgres=# \q # выход из Постгре
pg_config --version # версия PostgreSQL
psql -V # версия терминальной утилиты PSQL
hostname -I # мой IP адрес
df -BG # свободное место на дисках
lsblk # "дерево" дисков
sudo shutdown -h +5 "Компьютер будет выключен через 5 минут" # для ssh и серсерной версии linux
sudo shutdown -c # отменить запланированное отключение
sudo shutdown -h 21:00 # выключить в девять вечера
sudo apt-get install postgresql # установка идущего с Линукс программы , в данном случае
# с 1С встроенный\"чистый" Постгре, лучше не использовать
sudo apt-get --purge remove postgresql* # удаление Постгре (программы) из ОС
Если что-то не получается, перезагрузите компьютер (иногда это помогает).
6.2) Еще информация (для "клиента" на Виндовс)
# НаКлиенте #w10# комплект поставки 1С
: setup.exe (ПКМ Запуск от имени администратора)
: [=] Сервер 1С предприятие (те убираем Х)
: [=] Администрирование сервера 1С предприятие (те убираем Х)
: [v] Установить сервер 1С предприятие как сервис Windows
: (o) Создать пользователя USR1CV8 (задаем ему пароль)
: 1С предприятие (ярлык 1С на рабочем столе)
: [Добавить]
: (o) Создание новой информационной базы
: (o) Создание информационной базы без конфигурации...
: Информационная база клиент-сервер (указываем новое имя ИБ)
: (o) На сервере 1С предприятие
# чтобы запустить утилиту «Администрирование серверов 1С:Предприятие»
# НаКлиенте #w10# Слева внизу "форточки"
# Раскрываем в меню Виндовс папку "1С предприятие" и находим в ней
# Администрирование серверов 1С:Предприятие
# (ПКМ > Дополнительно > Запуск от имени администратора)
hostname #w10# узнать имя компьютера , например # DESKTOP-P00001
6.3) Настройки доступа
sudo cat /etc/postgresql/15/main/pg_hba.conf # что бы посмотреть в 15 версии
192.168.0.12/24 #IPv4 ваш и /24 = 255.255.255.0 0.0.0.255
sudo cat /etc/postgresql/15/main/postgresql.conf # vi # i и Shift+: wq (что бы изменить и сохранить)
listen_addresses = '*' #добавить в конце файла и пустую строчку (нажать enter)
CREATE USER ИмяАдминистратора WITH PASSWORD 'ЕгоПароль' SUPERUSER; #Для создания администратора
sudo -u postgres psql -U postgres -c "select * from pg_user" # Вывод пользователей
6.4) SSH для сервера (для тестов "удаленно"):
aptitude install openssh-server
iptables -I INPUT -p tcp --dport 22 -j ACCEPT
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
на клиенте (если то же linux):
aptitude install openssh-client
iptables -I OUTPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
6.5) Если ошибки (мне "везет", похоже, я насобирал все, что можно ...)
# НаКлиенте #w10# Если сеть не видит "сервер"
C:\Windows\System32\drivers\etc\hosts # добавляем строчку # IPадрес НазваниеПк
# после можно будет вызвать в командной строке (чтоб проверить)
ping НазваниеПк
# Ошибка : Консоль управления MMC не может создать оснастку 1C 8.3
# НаКлиенте #w10# Слева внизу "форточки"
# Раскрываем в меню Виндовс папку "1С предприятие" и находим в ней
# Регистрация утилиты администрирования
# (ПКМ > Дополнительно > Запуск от имени администратора)
# Ошибка "...mchar
..." - похоже, на редкие "функции" Microsoft SQL Server
6.6) Уже доступна для скачивания Ubuntu Server 24.04 LTS (с поддержкой PostgreSQL 16.3) с сайта
https://ubuntu.com/download/server Размер 2.8GB на флешке или 4.8GB на диске (после установки).
Эта версия без графического интерфейса для серверов (можно использовать без дисплея; не работает даже мышка, только черный экран с белыми буквами) с удаленным управлением по ssh.
У меня 1C подключилась к PostgreSQL (psql: 16.3) установленному по скрипту п.1.2. в виртуалке.
Но такой подход можно использовать только для изучения основ создания "тестовой среды" или как временный выход (при мощном незагруженном железе и малым количеством пользователей), я пока ни чего другого не придумал, но это "костыль" еще тот!
Хотя многие "блогерные эксперты" его приводят и потраченное время 5 ... 15 минут, что не соответствует реали.
Это видно даже на бытовом (моем примере). Сейчас даже у маленкого ИП есть сайт, настроен обмен с сайтом (там тоже SQL-база), облачная кассой; на предприятиях "сегмент" VPN файл хранилища, почтовый-сервер и т.д. И они "снести все" вряд ли разрешат!
Возможно, может пригодиться только при покупке нового сервера и то вряд ли - т.к. скорее всего он уже будет с софтом и настроен кем-то. А эта же проблема "всплывет" через 1 ... 4 года, когда "прилетят" критические обновления.
7) Разъяснения:
7.1) к п.3.3 "старый компьютер" я имею ввиду ПК имеющий:
память (ОЗУ) >= 2х4ГБ DDR3 [2x2ГБ DDR2]
процессор >= 4 ядра 3ГГц [2 ядра \4 потока]
SSD-диск >= 120ГБ >= 400МБ\с (c SATA3) [жеский диск >= 64ГБ >= 100МБ\с (c SATA2)]
При комплектация указанной в "[","]", использовать можно например к качестве "тонкого клиента": для файл-сервера (или веб-сервера), к тому же возможны проблемы с установкой самой ОС, т.к. железо уже старое и придется искать ту, которая на нем заработает (или ставить 32 битную, что сейчас не актуально!).
Если Вам кто-нить "дарит" "работавший" комьютер (или старые комплектующие), убедитесь, что он включается и проходит тест на память и скорость (ошибки) жесткого диска, иначе придется потратить много времени и нервов, чтоб его "оживить" (а надо ли это делать).
Если характеристики еще хуже, то это скорее уже "металлолом" и на "любителя" ...
7.2) "Сбои" при работе (например, пропало надолго напряжение) и их последствия.
Внимание! При нормальной работе надо до последнего пытаться штатно завершить работу (процессы), иначе можно повредить систему и потерять данные! Это приведено только для обучения.
Так делать не надо! Но еcли хотите повысить свой уровень, надо знать, что часто сервер стоит в отдельной комнате, с "игрушечным" (или "полудохлым") ИБП и при длительном отключении напряжения питания (сети 220В\380В) его мощности может не хватить, поэтому для приближения к "реальным условиям тестирования" его работы можно еще на нашем "сервере" (старом ПК, если его не жалко!) выключать периодически питание. При этом в BIOS в разделе Power Management Setup нужно выставить (если есть) AC Back Function [Memory] или [Power On], чтобы при появлении напряжения ПК сам восстанавливался или хотя бы включился автоматически. Это, конечно, "жестко" по отношению к железу (оно может пострадать), скажете вы, но такие случаи бывают и к ним тоже надо быть готовым, а точнее к последствиям..!
Примерно то же самое происходит при "сильном зависании" компьютера, если другие способы не помогают и люди просто жмут на кнопку питания (ладно если еще спереди корпуса, а то могут нажать и сзади)!
Так делать не надо! "Помягче" это же можно сделать из командной строки. Эта команда тоже выключает компьютер. Только делает она это очень по-своему. Она не выполняет никаких подготовительных действий перед выключением, а просто отключает питание:
sudo halt # /!\ Использование halt может повредить систему или
sudo poweroff # /!\ Это аналог halt, делает в точности то же самое
А для включения ПК в BIOS выставить пробуждение по таймеру Resume by Alarm [Enabled] Date\Time (или клавиатуре \ мышке Power On By Mouse \ Keybord [Enabled]).
Так делать не надо! Для виртуалки это же (называется "убить" ее процес) сделать это можно, набрав в терминале:
sudo htop # потом выбрать нужную строку и нажать F9 (это вызовет kill процесса) или еше "мягче" Машина\Перезагрузить (Host+R).
Внимание! При нормальной работе надо до последнего пытаться штатно завершить работу (процессы) иначе можно повредить систему и потерять данные! Это приведено только для обучения.
7.3) Почему я поставил:
7.3.1) "Ubuntu Server 24.04 LTS", а не "Ubuntu 22.04"?
Потому что она ("легче" для виртуальной среды) без ГИ и лишних программ, надежней, (и новее) + можно потренироваться в удаленном управлении (через SSH). Ubuntu 22.04, как бы, проще (для тех, кто новичок еще и в администрировании).
7.3.2) "PostgreSQL 16.3", а не "postgresql-15.5" т.к. он "свежее" (дольше не надо будет обновлять потом) и поддерживается установленной ОС.
7.3.3) Linux Mint 21.3 устанавливать стоит только если Вы решили решить эту "задачу" (проблему) и то можно на виртуалку (для того, чтобы самому лучше "погрузиться" в тему статьи).
Информация актуальна на 2024-07-01 (и ошибки) для платформы 1С:Предприятие 8.3 (8.3.25.1257) версия для разработчиков (конфигурация 0).
Автор не несет ответственности за неумелые действия пользователей!
P.S.: Если что-то непонятно, спросите еще у Яндекса или в специализированном чате, прежде чем что-то делать.
Источники:
1) Версии СУБД Tantor SE 1С / PostgresPro / Pangolin / PostgreSQL от 1С / Jatoba
https://v8.1c.ru/tekhnologii/systemnye-trebovaniya-1s-predpriyatiya-8/subd-postgresql/
2) Литература
"1С Предприятие руководство администратора 8.3" от 1С
3) Видео
"Настройка и тонкости эксплуатации PostgreSQL для 1С, ч.1" (их 6) на https://developer.1c.ru/