تبدیل دیتابیس از mysql به postgress

تبدیل دیتابیس از mysql به postgress

تعویض DBMS، کار اسانی نیست و پس از نصب و راه‌اندازی سیستم جدید، نیاز است که داده‌ها از سیستم قبلی به سیستم جدید منتقل شوند و عملیات تدیل دیتابیس صورت بگیرد. در این مقاله به آموزش روشی می‌پردازیم که به کمک آن می‌توان داده‌ها را از mysql به postgres انتقال داد.

۱۰ شهریور ۱۴۰۰

این آموزش برای سیستم‌عامل فدورا می‌باشد اما روال آن در سایر سیستم‌عامل‌ها نیز به همین صورت است و فقط از پکیج منیجر مخصوص آن سیستم‌عامل باید برنامه‌های مربوطه را نصب کرد.

برای انجام عملیات انتقال، ما از دستور pgloader استفاده می‌کنیم که دستوری برای انتفال داده به postgres می‌باشد. برای نصب این دستور ابتدا لازم است که پکیج‌های مورد نیاز آن را نصب کنید. برای این کار دستور زیر را اجرا کنید:

sudo yum install sbcl unzip libsqlite3-dev make curl gawk freetds-dev libzip-dev freetds  sbcl

سپس پکیج مربوط به pgloader را با اجرای دستور زیر دریافت می‌کنیم:

git clone https://github.com/dimitri/pgloader.git

سپس با اجرای دستورات زیر وارد پوشه مربوط به آن شده و به نصب پکیج می‌پردازیم:

cd pgloadermake

پس از اتمام عملیات نصب، فایل pgloader در پوشه‌ی build/bin باید موجود باشد.

در نهایت با اجرای دستور زیر داده‌هایمان را از یک دیتابیس در mysql به یک دیتابیس در postgres انتقال می‌دهیم.

cd build/bin./pgloader -v -d \
    --cast "type bigint with extra auto_increment to bigserial drop typemod" \
    --cast "type bigint when (= 20 precision) to bigint drop typemod" \ 
    --cast "type timestamp to timestamp using zero-dates-to-null" \
    --cast "type datetime to timestamp using zero-dates-to-null" \
    mysql://USERNAME:PASSWORD@localhost/DBNAME \ 
    pgsql://USERNAME:PASSWORD@localhost/DBNAME

توجه کنید که قبل از اجرای این دستور باید در postgres یک دیتابیس با نام دلخواه ساخته باشید.


برخی از پروژه‌ها
ادویه‌های حرفه‌ای
مزید

مزید نام برندی ایرانی است که تمرکز اصلی آن ارائه با کیفیت ترین ادویه ها و چاشنی های خوراکی با تمرکز فروش به رستوران ها و فست فودهای ایرانی است.

طراحی داخلی
دریم هاوس

دریم هاس یکی از برترین شرکت های فعال ایران در حوزه طراحی دکوراسیون و سیستم های آشپزخانه با تکیه بر به کارگیری خلاقیت و علم روز است.

پروژه‌های بیشتر