• Добро пожаловать на Форум пользователей ПО АСКОН. Пожалуйста, авторизуйтесь.
 

Уважаемые пользователи,

Хотим проинформировать вас о режиме работы регистрации на нашем сайте.

Зарегистрироваться возможно в рабочие дни, с 8:00 до 20:00 (мск).

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

Благодарим вас за понимание и сотрудничество. Мы ценим ваше терпение и стремимся предоставить вам лучший опыт использования нашего сервиса.

С уважением,
Команда Ascon

Не могу развернуть БД Полином на postgresql

Автор buduin, 24.08.21, 15:57:23

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

buduin

24.08.21, 15:57:23 Последнее редактирование: 24.08.21, 16:07:27 от buduin
Добрый день.
Не могу развернуть БД Полином на postgresql. Делал настройку на инструкции, но видно, что-то пошло не так. Когда создаю БД по шаблону вылетает ошибка - "неверный формат хранилища"
Где, что посмотреть.
Буду благодарен любой помощи.

OS Windows 7 Ultimate
postgresql 13
ПОЛИНОМ:MDM (Комплексное решение 2018.3)

Алексей Дубовицкий

ЛОЦМАН:КБ 2021 и PostgreSQL 13.2 подружились быстро.
Посмотрите кодировку и правила сортировки, свежего руководства нет, в руководстве "Комплекс решений АСКОН 2018.2. Установка и первичная настройка" (март 2021) раздел 4.2.5.3 "PostgreSQL Общие требования".

buduin

Цитата: Алексей Дубовицкий от 24.08.21, 19:06:54ЛОЦМАН:КБ 2021 и PostgreSQL 13.2 подружились быстро.
Посмотрите кодировку и правила сортировки, свежего руководства нет, в руководстве "Комплекс решений АСКОН 2018.2. Установка и первичная настройка" (март 2021) раздел 4.2.5.3 "PostgreSQL Общие требования".

В руководстве "Комплекс решений АСКОН 2018.2 нет ничего путного
Инструкция по развертыванию БД по шаблону
PostgreSQL
Общие требования

1. СУБД PostgreSQL должна быть установлена с русской локалью (locale).
При создании базы данных используются категория сортировки (LC_COLLATE) и ка-
тегория типов символов (LC_CTYPE), установленные в шаблоне template0,они долж-
ны быть совместимы с кодировкой UTF8.

После установки Postgresql 13 с русской локалью (locale) на Windows 7 ultimate x64, у меня получается так:
-- Database: postgres

-- DROP DATABASE postgres;

CREATE DATABASE postgres
WITH
OWNER = postgres
ENCODING = 'UTF8'
LC_COLLATE = 'Russian_Russia.1251'
LC_CTYPE = 'Russian_Russia.1251'
TABLESPACE = pg_default
CONNECTION LIMIT = -1;

COMMENT ON DATABASE postgres
IS 'default administrative connection database';

Каким образом можно изменить кодировку сортировки и типов символов? Уже обгуглился, ничего не получается. Из pgAdmin не даёт изменить.
При создании БД по шаблону вылетает ошибка: "Неверный формат хранилища".


Алексей Дубовицкий

Цитата: buduin от 26.08.21, 15:28:53В руководстве "Комплекс решений АСКОН 2018.2 нет ничего путного
В том же разделе есть требования для ПОЛИНОМ:MDM.

Цитата: buduin от 26.08.21, 15:28:53у меня получается так
Аналогично.

Цитата: buduin от 26.08.21, 15:28:53Windows 7 ultimate x64
Региональные настройки у пользователей (под которым залогинены и под которыми запускаются службы Postgre и Комплекса) выставлены русские?

buduin

Цитата: Алексей Дубовицкий от 26.08.21, 18:12:44В том же разделе есть требования для ПОЛИНОМ:MDM.

Эти требования я уже по несколько раз сделал и перепроверил.
Требования для ПОЛИНОМ:MDM
1. Для учетной записи, от имени которой создается база данных ПОЛИНОМ:MDM, и
учетной записи, от имени которой ПОЛИНОМ:MDM будет соединяться с СУБД, долж-
на быть включена md5 аутентификация.
2. Учетная запись, от имени которой ПОЛИНОМ:MDM будет соединяться с сервером баз
данных, должна иметь атрибут LOGIN (для возможности подключения к серверу баз дан-
ных). Кроме того, учетная запись должна обладать в БД следующими привилегиями:
использование схем PUBLIC и POLYNOM;
SELECT, INSERT, UPDATE, DELETE.
Пример:

CREATE ROLE "POLYNOMCONNECTOR" LOGIN PASSWORD '111';
/*Команды ниже дадут пользователю POLYNOMCONNECTOR необходимые привилегии*/
GRANT CONNECT, TEMPORARY, TEMP ON DATABASE "Database" TO
"POLYNOMCONNECTOR"; Ругается на отсутствие такой базы и это понятно, откуда ей взятся
GRANT USAGE ON SCHEMA "public" TO "POLYNOMCONNECTOR";
GRANT USAGE ON SCHEMA "POLYNOM" TO "POLYNOMCONNECTOR"; Ругается на отсутствие схемы. Схему создал CREATE SCHEMA "POLYNOM";
60GRANT SELECT, INSERT, UPDATE, DELETE ON ALL TABLES IN SCHEMA "public" TO
"POLYNOMCONNECTOR";
GRANT SELECT, INSERT, UPDATE, DELETE ON ALL TABLES IN SCHEMA
"POLYNOM" TO "POLYNOMCONNECTOR";

Больше ошибок не было.

Цитата: Алексей Дубовицкий от 26.08.21, 18:12:44Аналогично.
Региональные настройки у пользователей (под которым залогинены и под которыми запускаются службы Postgre и Комплекса) выставлены русские?
Конечно русские. Хотел, но не смог сюда выложить скриншоты локально компа.

Сергей Фадеев

1. Проверить наличие pg_restore.exe в папке C:\Program Files\PostgreSQL\13\bin.
2. Проверить, что путь к папке C:\Program Files\PostgreSQL\13\bin указан в системной переменной Path переменных среды
3. В конфиге поменять на такие строки


# TYPE  DATABASE        USER            ADDRESS                METHOD
# IPv4 local connections:
host    all            all            0.0.0.0/0              trust
# IPv6 local connections:
host all all ::1/128 md5
host all all fe80::/10 trust
host    replication    all            127.0.0.1/32            md5
host    replication    all            ::1/128                md5


4. Проверить порт, логин, пароль в LoodsmanPasswd.ini
[PostgreeSQL:5432]
login=postgres
password=1


5. Перегрузить службу Postgree
6. Только после этого создавать БД по шаблону с учетными данными (админская учетка в Postgree) из п.4.

buduin

C:\SQL\PostgreSQL\bin\pg_restore.exe (на месте)

PATH = C:\Program Files\PostgreSQL\13\bin  (по инструкции сразу сделал)


мне вот, что не понятно:

в файле pg_hba.conf указан метод md5
# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     md5
# IPv4 local connections:
host    all             all            0.0.0.0/0                md5                   
#host   all             all                                     scram-sha-256
# IPv6 local connections:
host    all             all             ::1/128                 md5
# Allow replication connections from localhost, by a user with the
# replication privilege.
local   replication     all                                     md5
host    replication     all             127.0.0.1/32            md5
host    replication     all             ::1/128                 md5

А ПостГри из комaндной строки показывает SCRAM-SHA-256

postgres=# table pg_shadow;
     usename      | usesysid | usecreatedb | usesuper | userepl | usebypassrls |
                                                                passwd
                                                       | valuntil | useconfig
------------------+----------+-------------+----------+---------+--------------+
--------------------------------------------------------------------------------
-------------------------------------------------------+----------+-----------
 postgres         |       10 | t           | t        | t       | t            |
 SCRAM-SHA-256$4096:mzKCM6Gev46UlBszriRu3w==$LQBP0c9eDg67JqxIbC5Dei5uIwtJF9m6Qh5
WK9/q9vA=:5dPJpJaT+n2c2Ggi2Ef7flufyvxeVyG2ZRXg5rXPTv0= |          |
 vrtreport        |    16398 | f           | f        | f       | f            |
 SCRAM-SHA-256$4096:2fNJcjkYaU4c/bJcm2fucg==$fuoXz+Q0RKMTFgghQkdV1eCyJJe7gB/Ahaq
jh1TocII=:W8FPvTLjPJdlsF7GTUT2P3qRBEYeiztXN9G/IPToe1c= | infinity |
 admin            |    16394 | t           | t        | t       | f            |
 SCRAM-SHA-256$4096:53Ig2Oo6NX53AtgB3O6CTQ==$nu7lY7c8vNOg13QqC9+ajCLzhEPIFvNXDT0
MiFne2FQ=:mrmTUY0DzGXIh7+tGEo/e0bn2FvaxK/CtSizv/uwN3E= |          |
 POLYNOMCONNECTOR |    19409 | f           | f        | f       | f            |
 SCRAM-SHA-256$4096:tqW9kn/t/36L7n86x8jWfw==$QkhtK3zlpSB+fGY81i7Aa1/5z3uVBgTTm+s
VTjUdypk=:vi62JaNJZFhXPItiagYLls99E4/PuYk5IDgzBzqFH4k= |          |
(4 строки)


Сергей Фадеев

В последних версиях PostgreSQL по умолчанию тип авторизации "scram", а ПОЛИНОМ его пока не поддерживает.
Получилось БД создать?
По впоросам того, что выдает PostgreSQL лучше написать в их техподдержку.

buduin

Цитата: Сергей Фадеев от 27.08.21, 14:44:48Получилось БД создать?
Нет. Теперь почему-то при создании БД по шаблону появляется другая ошибка:
3D000: база данных "RefBase" не существует

это из лога
2021-08-27 15:22:34.817 MSK [4728] LOG:  starting PostgreSQL 13.4, compiled by Visual C++ build 1914, 64-bit
2021-08-27 15:22:34.817 MSK [4728] LOG:  listening on IPv6 address "::", port 5432
2021-08-27 15:22:34.817 MSK [4728] LOG:  listening on IPv4 address "0.0.0.0", port 5432
2021-08-27 15:22:35.067 MSK [4888] LOG:  database system was shut down at 2021-08-27 15:22:32 MSK
2021-08-27 15:22:35.176 MSK [4728] LOG:  database system is ready to accept connections
2021-08-27 15:22:58.689 MSK [2844] ERROR:  permission denied to create database
2021-08-27 15:22:58.689 MSK [2844] STATEMENT:  CREATE DATABASE "RefBase" WITH ENCODING = 'UTF8'
2021-08-27 15:22:58.693 MSK [2844] ERROR:  database "RefBase" does not exist
2021-08-27 15:22:58.693 MSK [2844] STATEMENT:  DROP DATABASE "RefBase"

всё-таки кодировка не та.

Сергей Фадеев

Как создаете БД, картинки покажите. Что в PostgreSQL есть?

buduin


Алексей Дубовицкий


Сергей Фадеев

Цитата: buduin от 27.08.21, 17:20:58что Вы имеете ввиду?
Ранее созданная БД Полином или другие БД.

buduin

Цитата: Сергей Фадеев от 27.08.21, 22:18:30Ранее созданная БД Полином или другие БД.
Никаких баз нет. Всё чистое, всё с нуля.

Сергей Фадеев

Так что в результате, БД так и не удалось создать?
Эти строки заменили?
host    all            all            0.0.0.0/0              trust
................................

Это только на время проверки и создания БД, после создания можно уже будет экспериментировать с правами.

buduin

Цитата: Сергей Фадеев от 28.08.21, 14:21:09Так что в результате, БД так и не удалось создать?
Эти строки заменили?
host    all            all            0.0.0.0/0              trust
................................

Это только на время проверки и создания БД, после создания можно уже будет экспериментировать с правами.
вместо md5 заменить на trust?

Сергей Фадеев

Вместо строк в соответствующем разделе, заменить все строки раздела на эти:
# TYPE  DATABASE        USER            ADDRESS                METHOD
# IPv4 local connections:
host    all            all            0.0.0.0/0              trust
# IPv6 local connections:
host all all ::1/128 md5
host all all fe80::/10 trust
host    replication    all            127.0.0.1/32            md5
host    replication    all            ::1/128                md5

Обязательно перезапустить службу PostgreSQL.
Когда создадите БД, будете уже экспериментировать с настройками прав.

buduin

Цитата: Сергей Фадеев от 28.08.21, 14:46:48Вместо строк в соответствующем разделе, заменить все строки раздела на эти:
# TYPE  DATABASE        USER            ADDRESS                METHOD
# IPv4 local connections:
host    all            all            0.0.0.0/0              trust
# IPv6 local connections:
host all all ::1/128 md5
host all all fe80::/10 trust
host    replication    all            127.0.0.1/32            md5
host    replication    all            ::1/128                md5

Обязательно перезапустить службу PostgreSQL.
Когда создадите БД, будете уже экспериментировать с настройками прав.


Сделал.
При создании БД по шаблону 0шибка - неверный формат хранилища
https://disk.yandex.ru/i/uDkLC3px_vyuPw

это лог
2021-08-28 15:02:12.770 MSK [2652] LOG:  starting PostgreSQL 13.4, compiled by Visual C++ build 1914, 64-bit
2021-08-28 15:02:12.770 MSK [2652] LOG:  listening on IPv6 address "::", port 5432
2021-08-28 15:02:12.770 MSK [2652] LOG:  listening on IPv4 address "0.0.0.0", port 5432
2021-08-28 15:02:13.090 MSK [2880] LOG:  database system was shut down at 2021-08-28 15:02:10 MSK
2021-08-28 15:02:13.141 MSK [2652] LOG:  database system is ready to accept connections
2021-08-28 15:03:17.763 MSK [3736] ERROR:  relation "POLYNOM.MU_SESSION" does not exist at character 38
2021-08-28 15:03:17.763 MSK [3736] STATEMENT:  SELECT COUNT (0) "RECORDCOUNT"
   FROM "POLYNOM"."MU_SESSION"
   WHERE "MU_SESSION"."ISEXCLUSIVE" = $1 AND "MU_SESSION"."SESSIONID" <> $2
   
2021-08-28 15:03:57.525 MSK [3652] ERROR:  schema "POLYNOM" does not exist
2021-08-28 15:03:57.525 MSK [3652] STATEMENT:  SELECT has_schema_privilege('POLYNOMCONNECTOR', 'POLYNOM', 'USAGE')



postgres=# \dn
    Список схем
   Имя   | Владелец
---------+----------
 POLYNOM | postgres
 public  | postgres
(2 строки)


buduin

Буду параллельно разворачивать базу на Linux. Хочу понять, что не так.


https://forum.ascon.ru/index.php?topic=36012.new#new

Сергей Фадеев

PostgreSQL установлен на этой же машине, где установлена серверная часть Полином?
Command Line Tool установлен?
При создании БД какую учетку используете, postgres?