تعویض 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 pgloader
make
پس از اتمام عملیات نصب، فایل 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 یک دیتابیس با نام دلخواه ساخته باشید.
مزیت برون سپاری خدمات پشتیبانی شبکه چیست؟
تیم پشتیبانی شبکه گروهی از متخصصان IT است که مسئول مدیریت و نگهداری شبکه کامپیوتری یک سازمان هستند. با ارائه خدمات پشتیبانی و نگهداری منظم، به شما کمک میکند تا زمان و منابع خود را آزاد کنید و بر روی وظایف اصلی خود تمرکز کنید.