通用文件访问函数
pg_ls_dir(dirname text)
描述:列出目录中的文件。
返回值类型:setof text
备注:pg_ls_dir返回指定目录里面的除了特殊项“.”和“..”之外所有名称。
示例:
-
描述:返回一个文本文件的内容。
返回值类型:text
备注:pg_read_file返回一个文本文件的一部分,从offset开始,最多返回length字节(如果先达到文件结尾,则小于这个数值)。如果offset是负数,则它是相对于文件结尾回退的长度。如果省略了offset和length,则返回整个文件。
示例:
pg_read_file
---------------------------------------
53078 +
/srv/BigData/hadoop/data1/dbnode+
1500022474 +
8000 +
/var/run/FusionInsight +
(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
openGauss=# SELECT * FROM pg_stat_file('filename');
示例:
openGauss=# SELECT convert_from(pg_read_binary_file('postmaster.pid'), 'UTF8');
convert_from
--------------------------------------
4881 +
/srv/BigData/gaussdb/data1/dbnode+
/opt/user/Bigdata/gaussdb/gaussdb_tmp +
* +
25108001 43352069 +
(1 row)
openGauss=# SELECT (pg_stat_file('postmaster.pid')).modification;
modification
------------------------