step1 在ubuntu系统安装pgloader(centos系统难以直接通过yum安装,如果源码安装的话,会比较费劲)
step2,执行如下python脚本
from pathlib import Path
import subprocess
dataset_dir = Path('/app/sqlite_to_pg/chase-page/data/database/')
# 遍历目录获取所有文件路径
file_paths = [str(p.absolute()) for p in dataset_dir.rglob('*') if p.is_file()]
for fn in file_paths:
# 创建或更新 a.load 文件内容
load_file_content = f"""
LOAD DATABASE
FROM sqlite://{fn}
INTO pgsql://postgres@192.168.1.14:5432/tablegpt_test_chase
WITH include drop, -- 在导入前删除已存在的表
create tables, -- 自动创建目标表
create indexes, -- 创建索引
reset sequences -- 重置序列
CAST
type number to text,
type time to text,
type string to text;
"""
# 写入 a.load 文件