0

我需要将从其他 DBMS 导出的 CLOB 和 BLOB 对象导入 PostgreSQL。此类 LOB 是一个单独的文件,其路径引用放置在 CSV 文件中。表的结构是(id int PK, clobcol text)。这是示例结构:

  • 数据.csv

    1|some_clob.dat
    2|some_clob.dat
    
  • 配置文件:pgloader.conf

    [pgsql]
    host = localhost
    port = 5432
    base = test
    user = some_user
    pass = 
    
    log_file            = d:/tmp/pgloader.log
    log_min_messages    = DEBUG
    client_min_messages = WARNING
    lc_messages         = C
    
    client_encoding = 'utf-8'
    copy_every      = 5
    commit_every    = 5
    #copy_delimiter  = %
    
    null         = ""
    empty_string = "\ "
    
    [clob]
    table           = clob_table
    format          = text
    filename        = D:/pgloader-2.3.2/test/data.csv
    field_sep       = |
    quotechar       = "
    columns         = id:1, clobcol:2
    index           = id:1
    blob_columns    = clobcol:2:ifx_clob
    

对于该导入,我决定使用 PGloader 工具(Python 脚本,我在 Windows BTW 上)。但是当我执行时:

pgloader.py -c pgloader.conf

我在日志文件中收到错误:

Warning: column 'clobcol' is not a valid blob reference: d:/pgloader-2.3.2/test/clob.out
need more than 1 value to unpack

COPY error on lines 1

并且记录以以下形式登陆数据库:(id:1,clobcol:'some_clob.dat')。我不知道出了什么问题以及如何纠正。你能给我一些建议吗?谢谢

问候

4

1 回答 1

0

已解决:缺少要复制的 CLOB 数据范围。例如:

    1|0,25,some_clob.dat
于 2012-07-16T12:56:20.087 回答