我们提供安全,免费的手游软件下载!
pgloader是一个强大的数据同步工具,可用于将数据从其他数据库迁移到PostgreSQL中。它支持多种数据源,包括文件(如CSV、固定格式、Postgres COPY文本格式、DBF、IXF)和数据库系统(如SQLite、MySQL、MSSQLServer、PostgreSQL、Redshift)。
应用场景:当需要将数据导入到PostgreSQL中时,例如进行数据迁移时,pgloader是一款非常实用的工具。
pgloader的安装方式多种多样,详细信息可参考官方文档:https://pgloader.readthedocs.io/en/latest/install.html。遗憾的是,官方未提供CentOS环境编译好的程序供下载,因此需要手动编译安装。
首先,从官方网站下载最新的源码:https://github.com/dimitri/pgloader,并将源码放置在/usr/bin目录下。例如:
[root@bogon pgloader-3.6.9]# pwd
/usr/local/pgloader-3.6.9
如果下载的是源码压缩包,需要使用以下命令解压:
tar -zxvf pgloader-3.6.9.tar.gz
然后,赋予脚本执行权限:
cd /usr/local/pgloader-3.6.9
chmod -R 777 *
接下来,执行bootstrap-centos7.sh脚本,下载相关依赖。然后执行编译:
bootstrap-centos7.sh
make pgloader
如果出现类似于("libcrypto.so.1.1" "libcrypto.so.1.0.0" "libcrypto.so.3" "libcrypto.so")未找到的提示信息,需要先安装openssl:
yum -y install openssl openssl-devel
最后,将编译好的程序复制到系统执行目录/usr/local/bin/下,并检查是否安装成功:
cp /usr/local/pgloader-3.6.9/build/bin/pgloader /usr/local/bin/
[root@bogon home]# pgloader --version
pgloader version "3.6.7~devel"
compiled with SBCL 2.2.5
pgloader有两种常见的使用方式:
通过以下命令行可以实现数据迁移:
pgloader mysql://user:password@ip:3306/dbName postgresql://user:password@ip:5432/dbName
另一种方式是编写迁移配置文件,然后使用pgloader sync.load命令执行配置文件。
例如,以下配置文件演示了仅同步MySQL的source_db库中的ramble_doc表到PostgreSQL的target_db库中:
LOAD DATABASE
FROM mysql://root:xxx@192.168.1.92:3306/source_db
INTO postgresql://postgres:xxx@192.168.1.24:5432/target_db
INCLUDING ONLY TABLE NAMES matching 'ramble_doc';
配置文件需要按照格式编写,如缩进。
在使用pgloader过程中,可能会遇到内存溢出的问题。此时需要调整分批数量和并发数量,根据源数据库数据量和硬件情况进行调优。
pgloader是一款功能强大的数据库迁移工具。研究如何使用pgloader,将会在数据库迁移过程中事半功倍,通常比自己编写迁移脚本更加完善和可靠。
热门资讯