使用PGloader将CLOB导入PostgreSQL

时间:2012-07-16 08:01:08

标签: python postgresql csv import clob

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

  • data.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')。 我不知道什么是错的,以及如何纠正。你能给我任何建议吗? 谢谢

此致

1 个答案:

答案 0 :(得分:0)

已解决:缺少要复制的CLOB数据范围。 E.g:

    1|0,25,some_clob.dat