版本:7.0.0

BFILE类型函数 ​

  • bfilename(location text, filename text)

    描述:根据目录对象名和文件名生成一个bfile类型对象。location的值必须是DIRECTORY对象名,filename的值为文件名。

    参数类型:text

    返回值类型:bfile

    示例:

    CREATE or REPLACE DIRECTORY "sdf sfa" AS '/tmp';
    select bfilename('sdf sfa', 'as df .txt');
                 bfilename              
    ------------------------------------
     bfilename('sdf sfa', 'as df .txt')
    (1 row)
  • bfilein(cstring)

    描述:解析传入的字符串,生成一个bfile类型对象。传入的字符串有固定格式要求,必须是'bfilename(str1, str2)'。

    参数类型:cstring

    返回值类型:bfile

    示例:

    --参数格式不对
    select bfilein('bfilenamell(sdf,asdf)');
    ERROR:  invalid input syntax for bfile: "bfilenamell(sdf,asdf)"
    CONTEXT:  referenced column: bfilein
    
    --参数格式正确
    CREATE or REPLACE DIRECTORY "bfile_test_dir" AS '/tmp';
    select bfilein('bfilename(bfile_test_dir,regress_bfile.txt)');
                         bfilein                      
    --------------------------------------------------
     bfilename('bfile_test_dir', 'regress_bfile.txt')
    (1 row)
  • bfileout(bfile)

    描述:将传入的bfile类型对象转换成一个cstring类型的字符串。

    参数类型:bfile

    返回值类型:cstring

    示例:

    CREATE or REPLACE DIRECTORY "bfile_test_dir" AS '/tmp';
    select bfileout(bfilename('bfile_test_dir','regress_bfile.txt'));
                         bfileout                     
    --------------------------------------------------
     bfilename('bfile_test_dir', 'regress_bfile.txt')
    (1 row)
  • bfilerecv(internal)

    描述:将内部类型internal转换成一个bfile类型对象。因为internal类型是一个内部类型,无法通过外部传值,所以bfilerecv函数无法通过外部调用。

    参数类型:internal

    返回值类型:bfile

    示例:

    select bfilerecv(' ');
    ERROR:  cannot accept a value of type internal
    LINE 1: select bfilerecv(' ');
                             ^
  • bfilesend(bfile)

    描述:将传入的bfile类型对象一个internal类型对象。

    参数类型:bfile

    返回值类型:internal

    示例:

    CREATE or REPLACE DIRECTORY "bfile_test_dir" AS '/tmp';
    select bfilesend(bfilename('bfile_test_dir','regress_bfile.txt'));
                                      bfilesend                                       
    --------------------------------------------------------------------------------------
     \x0000000f000000126266696c655f746573745f64697200726567726573735f6266696c652e74787400
    (1 row)