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

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

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

Спасибо!

Есть контриб на эту тему - pgcrypto. Но сам такого не юзал.
...
Рейтинг: 0 / 0
31.10.2005, 14:16
    #33353054
Tonari
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MySQL -> Postgres
mwolfЕсть контриб на эту тему - pgcrypto. Но сам такого не юзал.
Таки что-то такое уже слышал, но испугался и убежал =)
Мы (программисты) пока решили, что не удастся легко восстановить шифрованные password'ом пароли с постгреса. Пользователям придется наново вбивать свои пароли, но зато все запросы легко переделываются на: md5('Der Parol')...
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
21.11.2006, 06:59
    #34142416
glebofff
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MySQL -> Postgres
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
21.11.2006, 09:32
    #34142553
tier.ru
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MySQL -> Postgres
Я на питоне сам написал неплохую тулзу для переноса данных из MySQL в Postgres.
Работает так: соединяется с обоими базами и сначала создает таблицы в pg(изменяя типы данных на совместимые, где требуется), а затем загружает записи из одной БД в другую.
...
Рейтинг: 0 / 0
22.11.2006, 01:10
    #34145350
barry
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MySQL -> Postgres
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
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / MySQL -> Postgres / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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