1 mysql postgresql data-structures
从mysql导出数据并将其导入postgresql的最简单方法是什么?
我在MySQL二进制字段转换方面遇到麻烦。
binaryMySQL bytea中的类型等效于PostgreSQL。
您可以使用pgloader(最简单的方法)
安装pgloader之后,创建简单的脚本 test.load
load database
from mysql://username:password@host/database_name
into postgresql://postgres:postgres@localhost/database_name
WITH include drop, create tables, create indexes, reset sequences
SET maintenance_work_mem to '128MB',
work_mem to '12MB'
CAST type binary TO bytea drop typemod using byte-vector-to-bytea;
Run Code Online (Sandbox Code Playgroud)
在您的终端中运行它:
pgloader test.load
Run Code Online (Sandbox Code Playgroud)
另一种方法是使用 mysqldump
1.使用十六进制选项将其转储
mysqldump -u username -p -h host --skip-quote-names --hex-blob --skip-triggers \
--compact --no-create-info your_db your_table > prepg.dump
Run Code Online (Sandbox Code Playgroud)
2.执行sed,以便可以将其插入到您的bytea键入列
sed "s/0x\([0-9A-F]*\)/decode('\1','hex')/g" prepg.dump > pg.dump
Run Code Online (Sandbox Code Playgroud)
3.加载到PostgreSQL表中
\i '/path_to_file/pg.dump'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2583 次 |
| 最近记录: |