通用文件访问函数

    • pg_ls_dir(dirname text)

      描述:列出目录中的文件。

      返回值类型:setof text

      备注:pg_ls_dir返回指定目录里面的除了特殊项“.”和“..”之外所有名称。

      示例:

    • 描述:返回一个文本文件的内容。

      返回值类型:text

      备注:pg_read_file返回一个文本文件的一部分,从offset开始,最多返回length字节(如果先达到文件结尾,则小于这个数值)。如果offset是负数,则它是相对于文件结尾回退的长度。如果省略了offset和length,则返回整个文件。

      示例:

      1. pg_read_file
      2. ---------------------------------------
      3. 53078 +
      4. /srv/BigData/hadoop/data1/dbnode+
      5. 1500022474 +
      6. 8000 +
      7. /var/run/FusionInsight +
      8. (1 row)
    • pg_read_binary_file(filename text [, offset bigint, length bigint,missing_ok boolean])

      返回值类型:bytea

      备注:pg_read_binary_file的功能与pg_read_file类似,除了结果的返回值为bytea类型不一致,相应地不会执行编码检查。与convert_from函数结合,这个函数可以用来读取用指定编码的一个文件。

    • pg_stat_file(filename text)

      描述:返回一个文本文件的状态信息。

      返回值类型:record

      1. openGauss=# SELECT * FROM pg_stat_file('filename');

      示例:

      1. openGauss=# SELECT convert_from(pg_read_binary_file('postmaster.pid'), 'UTF8');
      2. convert_from
      3. --------------------------------------
      4. 4881 +
      5. /srv/BigData/gaussdb/data1/dbnode+
      6. /opt/user/Bigdata/gaussdb/gaussdb_tmp +
      7. * +
      8. 25108001 43352069 +
      9. (1 row)
      1. openGauss=# SELECT (pg_stat_file('postmaster.pid')).modification;
      2. modification
      3. ------------------------