Hướng dẫn Migrate từ các cơ sở dữ liệu SQL khác sang Postgresql sử dụng pgloader

Last modified by Admin on 2024/08/13 17:16

Ta có thể sử dụng công cụ pgloader để migrate từ các cơ sở dữ liệu SQL khác sang Postgresql và ngược lại

Cài đặt pgloader

Ta cài đặt pgloader bằng các câu lệnh sau:

Đối với Ubuntu/ Debian:

sudo apt update

sudo apt install pgloader

 Đối với Centos:

sudo apt update

sudo apt install pgloader

 Đối với Windows:

# Trước tiên ta cần cài đặt wsl, mở powershell/cmd lên và nhập lệnh:

wsl --install

# Đợi quá trình cài đặt hoàn tất, trong đó ta cần phải khởi động lại thiết bị một lần.

# Sau khi cài đặt xong, ta mở wsl bằng lệnh

wsl

# Giờ ta sẽ cài đặt wsl tương tự ubuntu

sudo apt update

sudo apt install pgloader

Migrate cơ sở dữ liệu

Ta có thể migrate cơ sở dữ liệu đơn giản bằng một câu lệnh có cú pháp như sau:

pgloader [dbtype]://username:password@IP:port/[db_nguồn] postgresql://username:password@IP:port/[db_đích]

Trong đó dbtype là tên loại cơ sở dữ liệu, với:

mySQL => mysql

SQL Server => mssql

SQLite => sqlite

Ngoài ra nếu port để mặc định thì ta cũng không cần khai báo trong câu lệnh

Nếu ta cần migrate cụ thể một bảng trong cơ sở dữ liệu hoặc cần thay đổi một chút về các bảng cần migrate, ta làm như sau:

Tạo một file cấu hình migrate như sau:
 

sudo vim migration.load

Sau đó ta cấu hình như sau rồi lưu lại:

LOAD DATABASE
     FROM [dbtype]:///username:password@IP:port//database
     INTO postgresql://username:password@IP:5432/targetdb

  WITH include no tables not in source;

-- Chỉ định bảng cần migrate
TABLE table1;
TABLE table2;

-- Các chỉnh sửa khác, ví dụ như đổi tên cột của bảng
ALTER COLUMN old_field_name RENAME TO new_field_name;

Tiếp theo, ta chạy file cấu hình trên để tiến hành migrate:

Kết quả thành công sẽ hiện lên như sau
1723543899613-674.png

 Vậy là giờ ta đã có thể migrate từ các cơ sở dữ liệu SQL khác sang Postgresql và ngược lại.

Bizfly Cloud chúc bạn thành công!