powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / MySQL -> Postgres
8 сообщений из 8, страница 1 из 1
MySQL -> Postgres
    #33350395
Ravana
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Господа, может кто знает.
Натыкался где-то на коммерческое ПО для миграции между базами. И не могу опять найти. Может кто знает?

WBR Павел.
...
Рейтинг: 0 / 0
MySQL -> Postgres
    #33351905
Ravenous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
http://www.ispirer.com/
...
Рейтинг: 0 / 0
MySQL -> Postgres
    #33351975
Tonari
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Перекинул базу с MySQL на PostgreSQL, в которой есть таблица с информацией о пользователях. Как можно организовать шифрование полей с паролями максимально приближенно к старому варианту под мускуль? (в запросах использовалась ф-ция password, например: "INSERT INTO users (name, pass) VALUES('Вова', password('Der Parol') ; " )
Очень важно упростить жизнь программистам, которым придется модернизировать старые запросы в работающем проекте под новую СУРБД.

Спасибо!
...
Рейтинг: 0 / 0
MySQL -> Postgres
    #33352712
mwolf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TonariПерекинул базу с MySQL на PostgreSQL, в которой есть таблица с информацией о пользователях. Как можно организовать шифрование полей с паролями максимально приближенно к старому варианту под мускуль? (в запросах использовалась ф-ция password, например: "INSERT INTO users (name, pass) VALUES('Вова', password('Der Parol') ; " )
Очень важно упростить жизнь программистам, которым придется модернизировать старые запросы в работающем проекте под новую СУРБД.

Спасибо!

Есть контриб на эту тему - pgcrypto. Но сам такого не юзал.
...
Рейтинг: 0 / 0
MySQL -> Postgres
    #33353054
Tonari
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mwolfЕсть контриб на эту тему - pgcrypto. Но сам такого не юзал.
Таки что-то такое уже слышал, но испугался и убежал =)
Мы (программисты) пока решили, что не удастся легко восстановить шифрованные password'ом пароли с постгреса. Пользователям придется наново вбивать свои пароли, но зато все запросы легко переделываются на: md5('Der Parol')...
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
MySQL -> Postgres
    #34142416
glebofff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tonari mwolfЕсть контриб на эту тему - pgcrypto. Но сам такого не юзал.
Таки что-то такое уже слышал, но испугался и убежал =)
Мы (программисты) пока решили, что не удастся легко восстановить шифрованные password'ом пароли с постгреса. Пользователям придется наново вбивать свои пароли, но зато все запросы легко переделываются на: md5('Der Parol')...

Мне тут на днях пришлось столкнуться, подумалось, вдруг кому-то это ещё актуально:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
#include "postgres.h"
#include "executor/spi.h"

#ifdef PG_MODULE_MAGIC
PG_MODULE_MAGIC;
#endif

#define GET_STR(textp) DatumGetCString(DirectFunctionCall1(textout, PointerGetDatum(textp)))
typedef unsigned long ulong;
typedef unsigned char uchar;

void hash_password(ulong *result, const char *password)
{
        register ulong nr=1345345333L, add= 7 , nr2=0x12345671L;
        ulong tmp;
        for (; *password ; password++)
        {
                if (*password == ' ' || *password == '\t')
                        continue;     /* skipp space in password */
                tmp= (ulong) (uchar) *password;
                nr^= (((nr &  63 )+add)*tmp)+ (nr <<  8 ); 
                nr2+=(nr2 <<  8 ) ^ nr; 
                add+=tmp;
        }
        result[ 0 ]=nr & (((ulong) 1L <<  31 ) -1L); /* Don't use sign bit (str2int) */;
        result[ 1 ]=nr2 & (((ulong) 1L <<  31 ) -1L);
        return;
}

void make_scrambled_password(char *to,const char *password)
{
        ulong hash_res[ 2 ];
        hash_password(hash_res,password);
        sprintf(to,"%08lx%08lx",hash_res[ 0 ],hash_res[ 1 ]);
}

PG_FUNCTION_INFO_V1(password);
Datum password (PG_FUNCTION_ARGS)
{
        int len =  16 ;
        char *pwd = GET_STR (PG_GETARG_TEXT_P( 0 ));
        char buffer[ 17 ]="";
        text *res;
        make_scrambled_password (buffer, pwd);
        res = palloc(len + VARHDRSZ);
        memcpy(VARDATA(res), buffer, len);
        VARATT_SIZEP(res) = len + VARHDRSZ;
        PG_RETURN_TEXT_P(res);
}
...
Рейтинг: 0 / 0
MySQL -> Postgres
    #34142553
tier.ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я на питоне сам написал неплохую тулзу для переноса данных из MySQL в Postgres.
Работает так: соединяется с обоими базами и сначала создает таблицы в pg(изменяя типы данных на совместимые, где требуется), а затем загружает записи из одной БД в другую.
...
Рейтинг: 0 / 0
MySQL -> Postgres
    #34145350
Фотография barry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RavanaГоспода, может кто знает.
Натыкался где-то на коммерческое ПО для миграции между базами. И не могу опять найти. Может кто знает?
http://www.clevercomponents.com
Database Comparer - для миграции структуры БД (таблиц).
http://www.clevercomponents.com/dev/dbc/demo/dbcomparer.zip
dbcDataPump - перенос данных.
http://www.clevercomponents.com/dev/dbc/demo/dbcDataPump.zip
Будут проблемы - пишите на support(at)clevercomponents.com
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / MySQL -> Postgres
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]