Форум программистов
 
О проблемах, например, с регистрацией пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль.

Вернуться   Форум программистов > Web программирование > SQL, базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail


Ответ
 
Опции темы
Старый 28.07.2020, 12:17   #1
Keepermode
Новичок
Джуниор
 
Регистрация: 11.10.2012
Сообщений: 3
По умолчанию Перенос базы 1С с СУБД MS SQL на PostgreSQL

Добрый день. Прошу оказать помощь в задаче тестового переноса 1С-базы 1С:Предприятие 8.3 , Объём до 1 Гб, сервер БД Microsoft SQL Server 2014 Std
в установленную версию 10.5 postgresql-1c-server.x86_64 (установлена на RED OS MUROM 7.2).
Создана чистая база в PostgreSQL. Установлен pgAdmin 4 .v.4.19. Настроен файл конфигурации.
Интересует план действий и практические рекомендации по теме миграции...

Последний раз редактировалось Keepermode; 28.07.2020 в 12:28.
Keepermode вне форума Ответить с цитированием
Старый 28.07.2020, 16:50   #2
Streletz
Старожил
 
Регистрация: 02.01.2014
Сообщений: 2,787
По умолчанию

Если БД небольшая, то можно попробовать через выгрузку информационной базы, но это не точно.

Наверняка у вашей организации есть франч, который обслуживает 1С. Обратитесь у нему. Там скорее подскажут.
Streletz вне форума Ответить с цитированием
Старый 30.07.2020, 08:37   #3
Keepermode
Новичок
Джуниор
 
Регистрация: 11.10.2012
Сообщений: 3
По умолчанию

Спасибо, выгрузки небольшой базы есть и из 1С db.dt и из MSSQL db.bak. Интересует план переноса/загрузки/миграции в PostgreSQL 10.5 всей базы или поочередно таблиц, данных, sql-объектов, интерфейса, представлений, триггеров, функций, процедур....
Keepermode вне форума Ответить с цитированием
Старый 30.07.2020, 13:00   #4
Streletz
Старожил
 
Регистрация: 02.01.2014
Сообщений: 2,787
По умолчанию

Обо всём по порядку.
Цитата:
Сообщение от Keepermode Посмотреть сообщение
из MSSQL db.bak
MS SQL и PostgreSQL это разные СУБД. Поэтому из файла бэкапа MS SQL базу в PostgreSQL вы не поднимите. Это раз.

Во-вторых непонятно, что значит "выгрузка небольшой базы"? Там только сама конфигурация или просто не все данные?

И, наконец, самое главное.
Цитата:
Сообщение от Keepermode Посмотреть сообщение
Интересует план переноса/загрузки/миграции в PostgreSQL 10.5 всей базы или поочередно таблиц, данных, sql-объектов, интерфейса, представлений, триггеров, функций, процедур....
В процессе конвертации (например, то же восстановление базы из dt) сервер приложения 1С (который смотрит в PostgreSQL) сделает всё сам. Руками в 1С-ную базу лезть не нужно и более того противопоказано.

P.S. Не хочу вас обидеть, но исходя из ваших комментариев просто дам добрый совет. Если есть франч, который оказывает услуги поддержки вашей организации по части 1С, обратитесь по поводу миграции к нему. 1С штука ответственная. Не рискуйте, иначе потом велика вероятность стать самому себе злобным Буратино.
Streletz вне форума Ответить с цитированием
Старый 31.07.2020, 15:45   #5
Keepermode
Новичок
Джуниор
 
Регистрация: 11.10.2012
Сообщений: 3
По умолчанию

Спасибо еще раз за совет про франча и ответственность, но изначально просил практического совета а поиске вариантов ТЕСТОВОГО переноса тестовой демо-1С-базы 1С:Предприятие 8.3 , небольшого или любого объёма - до 1 Гб или другого объема, если это имеет значение. Можно ли принять то, что нет никаких вариантов восстановить SQL-бэкап.bak в PG?
Keepermode вне форума Ответить с цитированием
Старый 31.07.2020, 17:04   #6
Streletz
Старожил
 
Регистрация: 02.01.2014
Сообщений: 2,787
По умолчанию

Тестирование перед тем как приступить к "процессу" дело весьма разумное.
Цитата:
Сообщение от Keepermode Посмотреть сообщение
Можно ли принять то, что нет никаких вариантов восстановить SQL-бэкап.bak в PG?
Я вам только что ответил на этот вопрос.
Streletz вне форума Ответить с цитированием
Старый 04.08.2020, 13:23   #7
xxbesoxx
Участник клуба
 
Аватар для xxbesoxx
 
Регистрация: 10.08.2010
Сообщений: 1,376
По умолчанию

Цитата:
Сообщение от Keepermode Посмотреть сообщение
но изначально просил практического совета
Что бы Вы не искали и как бы Вы не крутились ! Таблицы и все информация вы можете да эмигрировать на другом СУБД - это да, Но там будет
1) Связи между таблицами
2) Представления, Процедур, Функций, Триггер
Который надо переписать руками, Принципе всё можно... Просто надо полностью разобрать БД что к чему
xxbesoxx вне форума Ответить с цитированием
Старый 04.08.2020, 18:42   #8
Streletz
Старожил
 
Регистрация: 02.01.2014
Сообщений: 2,787
По умолчанию

Цитата:
Сообщение от xxbesoxx Посмотреть сообщение
Который надо переписать руками, Принципе всё можно... Просто надо полностью разобрать БД что к чему
С учётом того, что:
Цитата:
Сообщение от Streletz Посмотреть сообщение
В процессе конвертации (например, то же восстановление базы из dt) сервер приложения 1С (который смотрит в PostgreSQL) сделает всё сам.
утруждаться не имеет смысла. Тем более подобная работа далеко не из лёгких.

Я не говорю о том уровень БД для 1С, насколько мне известно, является закрытым для посторонних лиц.
Streletz вне форума Ответить с цитированием
Старый 04.08.2020, 21:32   #9
xxbesoxx
Участник клуба
 
Аватар для xxbesoxx
 
Регистрация: 10.08.2010
Сообщений: 1,376
По умолчанию

Цитата:
Сообщение от Streletz Посмотреть сообщение
БД для 1С, насколько мне известно, является закрытым для посторонних лиц.
Да, так и будет на MS SQL можно компилировать (Представления, Процедур, Функций, Триггер) через with encryption и некто не может почитать код
На пример
Код:
CREATE VIEW TestView WITH ENCRYPTION
AS
select * from Application.Countries
Go
и
Код:
CREATE PROCEDURE RegularSP
WITH ENCRYPTION 
AS
SELECT TOP 10 City
FROM Person.Address
GO
и
Код:
CREATE TRIGGER Purchasing.LowCredit ON Purchasing.PurchaseOrderHeader  
WITH ENCRYPTION 
AFTER INSERT  
AS  
IF (ROWCOUNT_BIG() = 0)
RETURN;
IF EXISTS (SELECT *  
           FROM Purchasing.PurchaseOrderHeader AS p   
           JOIN inserted AS i   
           ON p.PurchaseOrderID = i.PurchaseOrderID   
           JOIN Purchasing.Vendor AS v   
           ON v.BusinessEntityID = p.VendorID  
           WHERE v.CreditRating = 5  
          )  
BEGIN  
RAISERROR ('A vendor''s credit rating is too low to accept new  
purchase orders.', 16, 1);  
ROLLBACK TRANSACTION;  
RETURN   
END;  
GO
Почему же не делать так ?! когда проект коммерческий , Это же бизнес да ? Разработчик не хочет что его "творческие наработка" читал другой человек. и это нормально...
Такие объекты из БД можно вызвать ! Но что он делает - его код - невозможно почитать .!

Последний раз редактировалось xxbesoxx; 04.08.2020 в 21:40.
xxbesoxx вне форума Ответить с цитированием
Старый 05.08.2020, 15:30   #10
Streletz
Старожил
 
Регистрация: 02.01.2014
Сообщений: 2,787
По умолчанию

Цитата:
Сообщение от xxbesoxx Посмотреть сообщение
Такие объекты из БД можно вызвать ! Но что он делает - его код - невозможно почитать .!
И как следствие невозможно перенести. Но, в случае 1С дело не только в этом. Там есть ещё ряд других тонкостей.
Streletz вне форума Ответить с цитированием
Ответ

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
СУБД PostgreSQL. Запрос с использованием массива polin11 SQL, базы данных 0 15.07.2020 11:32
Перенос базы из MySQL в PostgreSQL по средствам php tematika PHP 3 08.08.2011 23:31


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS
Здесь нужно купить рекламу за 7 тыс руб в месяц! )
пишите сюда - alarforum@yandex.ru
ИКС 840