热门搜索:
ghcr.io/dimitri/pgloader

ghcr.io/dimitri/pgloader:3.6.7

ghcr.iolinux/amd643.6.7大小: 未知更新于 2026年5月23日

PGLoader

pgloader 是一款用于 PostgreSQL 的数据加载工具,使用 COPY 命令。

与直接使用 COPY 或 \copy 以及使用 Foreign Data Wrapper 相比,其主要优势在于事务行为:pgloader 会保留单独的被拒绝数据文件,但继续尝试将正确的数据复制到数据库中。

PostgreSQL 的默认行为是事务性的,这意味着输入数据(文件或远程数据库)中的任何错误行都会停止整个表的批量加载。

pgloader 还实现了数据重新格式化,一个典型示例是将 MySQL 时间戳 0000-00-00 和 0000-00-00 00:00:00 转换为 PostgreSQL 的 NULL 值(因为我们的日历中从未有过零年)。

文档

完整文档可在线获取,包括所有 pgloader 子命令的手册页。请访问 [***]

$ pgloader --help
pgloader [ option ... ] SOURCE TARGET
--help -h boolean 显示用法并退出。
--version -V boolean 显示 pgloader 版本并退出。
--quiet -q boolean 静默模式
--verbose -v boolean 详细模式
--debug -d boolean 显示调试级别信息。
--client-min-messages string 过滤控制台日志(默认:"warning")
--log-min-messages string 过滤日志文件日志(默认:"notice")
--summary -S string 存储摘要的文件名
--root-dir -D string 输出根目录。(默认:#P"/tmp/pgloader/")
--upgrade-config -U boolean 输出对应 v2.x 版本 .conf 文件的命令
--list-encodings -E boolean 列出 pgloader 支持的编码并退出。
--logfile -L string 日志输出文件名。
--load-lisp-file -l string 从文件读取用户代码
--dry-run boolean 仅检查数据库连接,不加载任何数据。
--on-error-stop boolean 不妥善处理错误。
--no-ssl-cert-verification boolean 指示 OpenSSL 绕过证书验证。
--context -C string 命令上下文变量
--with string 加载选项
--set string PostgreSQL 选项
--field string 源文件字段规范
--cast string 特定转换规则
--type string 强制输入源类型
--encoding string 源预期编码
--before string 加载数据前运行的 SQL 脚本
--after string 加载数据后运行的 SQL 脚本
--self-upgrade string pgloader 新版本源码路径
--regress boolean 驱动回归测试

使用方法

您可以向 pgloader 提供命令文件,也可以直接从命令行运行,有关更多详细信息,请参阅 [***] 上的 pgloader 快速入门。

$ ./build/bin/pgloader --help
$ ./build/bin/pgloader

例如,从 SQLite 完整迁移:

$ createdb newdb
$ pgloader ./test/sqlite/sqlite.db postgresql:///newdb

或从 MySQL 完整迁移,包括模式定义(表、索引、外键、注释)和并行加载已修正的数据:

$ createdb pagila
$ pgloader mysql://user@localhost/sakila postgresql:///pagila

许可证

pgloader 基于 PostgreSQL 许可证发布。

安装

请参阅 [***] 上的完整文档。

如果使用 Debian,可直接安装:

$ apt-get install pgloader

如果使用 Docker,可使用 CI 在每次提交到 master 分支时构建的最新版本:

$ docker pull ghcr.io/dimitri/pgloader:latest
$ docker run --rm -it ghcr.io/dimitri/pgloader:latest pgloader --version

项目仓库 README(补充)

PGLoader

pgloader 是一款用于 PostgreSQL 的数据加载工具,使用 COPY 命令。

与直接使用 COPY\copy 以及使用 Foreign Data Wrapper 相比,其主要优势在于事务行为:pgloader 会保留单独的被拒绝数据文件,但继续尝试将正确的数据 copy 到数据库中。

PostgreSQL 的默认行为是事务性的,这意味着输入数据(文件或远程数据库)中的 任何 错误行都会停止整个表的批量加载。

pgloader 还实现了数据重新格式化,一个典型示例是将 MySQL 时间戳 0000-00-000000-00-00 00:00:00 转换为 PostgreSQL 的 NULL 值(因为我们的日历中从未有过 零年)。

文档

完整文档可在线获取,包括所有 pgloader 子命令的手册页。请访问 [***]

$ pgloader --help
pgloader [ option ... ] SOURCE TARGET
--help -h boolean 显示用法并退出。
--version -V boolean 显示 pgloader 版本并退出。
--quiet -q boolean 静默模式
--verbose -v boolean 详细模式
--debug -d boolean 显示调试级别信息。
--client-min-messages string 过滤控制台日志(默认:"warning")
--log-min-messages string 过滤日志文件日志(默认:"notice")
--summary -S string 存储摘要的文件名
--root-dir -D string 输出根目录。(默认:#P"/tmp/pgloader/")
--upgrade-config -U boolean 输出对应 v2.x 版本 .conf 文件的命令
--list-encodings -E boolean 列出 pgloader 支持的编码并退出。
--logfile -L string 日志输出文件名。
--load-lisp-file -l string 从文件读取用户代码
--dry-run boolean 仅检查数据库连接,不加载任何数据。
--on-error-stop boolean 不妥善处理错误。
--no-ssl-cert-verification boolean 指示 OpenSSL 绕过证书验证。
--context -C string 命令上下文变量
--with string 加载选项
--set string PostgreSQL 选项
--field string 源文件字段规范
--cast string 特定转换规则
--type string 强制输入源类型
--encoding string 源预期编码
--before string 加载数据前运行的 SQL 脚本
--after string 加载数据后运行的 SQL 脚本
--self-upgrade string pgloader 新版本源码路径
--regress boolean 驱动回归测试

使用方法

您可以向 pgloader 提供命令文件,也可以直接从命令行运行,有关更多详细信息,请参阅 pgloader 快速入门。

$ ./build/bin/pgloader --help
$ ./build/bin/pgloader

例如,从 SQLite 完整迁移:

$ createdb newdb
$ pgloader ./test/sqlite/sqlite.db postgresql:///newdb

或从 MySQL 完整迁移,包括模式定义(表、索引、外键、注释)和并行加载已修正的数据:

$ createdb pagila
$ pgloader mysql://user@localhost/sakila postgresql:///pagila

许可证

pgloader 基于 PostgreSQL 许可证 发布。

安装

请参阅 [***] 上的完整文档。

如果使用 Debian,可直接安装:

$ apt-get install pgloader

如果使用 Docker,可使用 CI 在每次提交到 master 分支时构建的最新版本:

$ docker pull ghcr.io/dimitri/pgloader:latest
$ docker run --rm -it ghcr.io/dimitri/pgloader:latest pgloader --version

镜像拉取常见问题

用户好评

来自真实用户的反馈,见证轩辕镜像的优质服务

用户头像

oldzhang

运维工程师

Linux服务器

5

"Docker访问体验非常流畅,大镜像也能快速完成下载。"

镜像拉取问题咨询请 提交工单。官方公众号:源码跳动。官方技术交流群:51517718。轩辕镜像所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。