Имя: Пароль:
1C
 
Установить 2 экземпляра службы PostgreSQL на Windows
,
0 YFedor
 
13.05.24
10:28
Тренируюсь на PostgreSQL, пока на Windows Server 2019.

Хочу сделать аналог MS SQL.

У меня сейчас 2 именованных экземпляра MS SQL Server. Для установки просто в установщике выбираешь новый экземпляр и все, далее следуешь за установщиком.

А как это в Postgres?
Скачал свежую версию с сайта users8.1, установил, вроде бы запустилось.
А как второй экземпляр поставить? Если заново запускаешь установку, то просто этот же экземпляр предлагает модифицировать.
1 Волшебник
 
13.05.24
10:33
Может в реестре добавить?
2 YFedor
 
13.05.24
10:36
(1) Я конечно могу добавить в реестре, но хочется знать как правильнее, может быть в каких-то настроечных файлах нужно что-то прописать еще.

В 1с прямо в параметрах запуска службы указывается порт, в PostgreSQL же нет.
3 Волшебник
 
13.05.24
10:45
initdb -D c:\Data\PostgresInstance2 -W -A md5

После инициализации экземпляра (кластера) отредактируйте c:\Data\PostgresInstance2\postgresql.conf, чтобы использовать другой порт, например, port = 5433.

https://stackoverflow.com/questions/39842725/postgresql-how-to-create-two-instances-in-same-window-machine
4 YFedor
 
13.05.24
14:59
(3) Все сделал по инструкции.

При подключении пишет:

connection failed: :1), ����� 5632 �� �������: FATAL: password authentication failed for user "postgres"

Пароль точно тот же, который вводил при регистрации кластера
5 Tarzan_Pasha
 
13.05.24
15:35
(0)вы что про контейнеризацию ничего не слышали? Кто в 2024 устанавливает софт прямо на операционку?

Создаешь docker-compose.yaml  и прописываешь там версию образа, порты, логин, пароль - вот тебе и экземпляр postgresql.  и таких можеть быть сколько угодно много.

И не придется засорять операционку.
6 Волшебник
 
13.05.24
15:36
(5) Может у него операционка внутри виртуальной машины.
7 YFedor
 
13.05.24
15:52
(5) "вы что про контейнеризацию ничего не слышали?" - нет не слышал.

(6) Да, виртуалка.

+
Подключился. Оказалось, что при инициализации кластера командой "initdb -D "C:\Program Files\PostgreSQL\16.2-3.1C\data3" -W -A md5" в качестве имени суперпользователя Постгре берет имя пользователя, от имени которого был запущена командная консоль. Причем имя пользователя без имени домена.

У меня пользователь MYWin\YFedor, суперпользователь этого кластера Постгре имеет имя пользователя "YFedor"
8 YFedor
 
13.05.24
17:13
Почитал синтаксис: https://postgrespro.ru/docs/postgresql/15/app-initdb

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

Может кто знает? Ведь при первой установке через инсталлятор имя суперпользователя указывается верно, значит как-то можно.
9 YFedor
 
13.05.24
17:17
(8) Нашел, в этой же инструкции :-)
10 Волшебник
 
13.05.24
17:17
смотри видосик
https://www.youtube.com/watch?v=RYtd8j62rA0
11 YFedor
 
17.05.24
16:27
Поставилось, пытаюсь создать базу из сервера 1с.
Выдает ошибку: 42704 ERROR: unrecognized configuration parameter "lc_collate"
12 ice777
 
17.05.24
16:29
(11) локаль не русская, скорее всего в системе.
13 YFedor
 
17.05.24
16:31
(12) В русской Windows Server?
14 ice777
 
17.05.24
16:32
(0) и да, в инете полно мануалов, как поставить на линукс и не мучить postgres непривычной средой обитания.)
15 ice777
 
17.05.24
16:32
(13) во всяком случае, под линуксом такая ошибка возникает из-за этого. 1С странный предмет.
16 YFedor
 
17.05.24
16:33
(14) Я Линукс не знаю с какого места взять, видел его только на картинках и, честно говоря, даже не хочу (хотя, скорее всего, придется :-( )
17 YFedor
 
17.05.24
16:34
(15) Да, про Линуксовский вариант я читал это.

Хотя честно говоря пока не понимаю что такое эта "Локаль"
18 ice777
 
17.05.24
16:41
(17) язык системы
(16) возьми убунту какую нить lts прям с их сайта бесплатно.
19 Garikk
 
17.05.24
17:01
(11) у тебя версия 1С поддерживает твою версию pgsql?
20 Garikk
 
17.05.24
17:01
то что гуглится, указывает на то что 1С хочет более старую версию постргри
21 ansh15
 
17.05.24
18:49
В 16-й редакции "Remove read-only server variables lc_collate and lc_ctype"
Для PostgreSQL, версия 16.2-3.1C  - "Текущая версия PostgreSQL предназначена для использования с версией технологической платформы 1С:Предприятие 8 не ниже 8.3.22.2501, 8.3.23.2144, 8.3.24.1528, 8.3.25.1257"
22 ansh15
 
17.05.24
18:50
С 8.3.25.1257 ошибок не выдает, остальные - не знаю.
23 YFedor
 
20.05.24
17:06
(21) 8.3.22.2501 - работает, ну то есть запустилось, база в 1с создалась. Будем тестировать дальше.
24 YFedor
 
04.06.24
14:21
Продолжаю тестировать, вопрос № 2

В МССКЛ создаются логины, потом эти логины с правами привязываются к базам данных.

В ПостгреСКЛ как-то не так, создал логин с нужными ролями. Под ним захожу в любую базу.

Как делается в ПостгреСКЛ ограничение на доступы к базам?
25 eklmn
 
гуру
04.06.24
14:32
указать в pg_hba.conf для этого юзера только нужную базу
26 YFedor
 
04.06.24
14:49
(25) Нашел еще другой вариант - правами на схему в базе
27 YFedor
 
04.06.24
14:50
+
А можно как-то сделать, чтобы постгрес не был чувствителен к регистру символов в логинах?
28 Barrel0726
 
04.06.24
15:07
Наследие линукс.
29 YFedor
 
04.06.24
17:10
Вопрос № 3
Можно как-то выполнять резервное копирование пользователей Постгрес?
30 stix2010
 
04.06.24
17:24
(0) PostgreSQL надо на linux ставить, а не в бирюльки с импортозамещением играть
31 Barrel0726
 
04.06.24
20:33
Ну или хотя бы в подсистему линукс aka wsl на windows. Поиграться хватит.
32 YFedor
 
05.06.24
08:36
(30) Ни постгрес ни линукс не являются импортозамещением, т.к. не являются продуктами Российского производства, так что мимо.
33 stix2010
 
05.06.24
09:14
34 YFedor
 
05.06.24
09:41
(33) Это не просто линукс, а конкретные версии линукса и не просто постгрес, а постгрес про.
Программист всегда исправляет последнюю ошибку.