文档首页 > > 开发指南> SQL参考> 函数和操作符> 通用文件访问函数

通用文件访问函数

分享
更新时间: 2019/07/22 GMT+08:00

通用文件访问函数提供了对数据库服务器上的文件的本地访问接口。只有数据库集群目录和log_directory目录里面的文件可以访问。使用相对路径访问集群目录里面的文件,以及匹配log_directory配置而设置的路径访问日志文件。只有数据库系统管理员才能使用这些函数。

  • pg_ls_dir(dirname text)

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

    返回值类型:setof text

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

    示例:

    SELECT pg_ls_dir('./');
          pg_ls_dir       
    ----------------------
     .postgresql.conf.swp
     postgresql.conf
     pg_tblspc
     PG_VERSION
     pg_ident.conf
     core
     server.crt
     pg_serial
     pg_twophase
     postgresql.conf.lock
     pg_stat_tmp
     pg_notify
     pg_subtrans
     pg_ctl.lock
     pg_xlog
     pg_clog
     base
     pg_snapshots
     postmaster.opts
     postmaster.pid
     server.key.rand
     server.key.cipher
     pg_multixact
     pg_errorinfo
     server.key
     pg_hba.conf
     pg_replslot
     .pg_hba.conf.swp
     cacert.pem
     pg_hba.conf.lock
     global
     gaussdb.state
    (32 rows)
  • pg_read_binary_file(filename text [, offset bigint, length bigint,missing_ok boolean])

    描述:返回一个二进制文件的内容。

    返回值类型:bytea

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

    SELECT convert_from(pg_read_binary_file('filename'), 'UTF8');
  • pg_stat_file(filename text)

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

    返回值类型:record

    备注:pg_stat_file返回一条记录,其中包含:文件大小、最后访问时间戳、最后更改时间戳、最后文件状态修改时间戳以及标识传入参数是否为目录的boolean值。典型的用法:

    SELECT * FROM pg_stat_file('filename');
    SELECT (pg_stat_file('filename')).modification;

    示例:

    
    
    SELECT * FROM pg_stat_file('postmaster.pid');
     
     size |         access         |      modification      |         change         
    | creation | isdir 
    ------+------------------------+------------------------+------------------------
    +----------+-------
      117 | 2017-06-05 11:06:34+08 | 2017-06-01 17:18:08+08 | 2017-06-01 17:18:08+08 
    |          | f
    (1 row)
    
    SELECT (pg_stat_file('postmaster.pid')).modification;
          modification      
    ------------------------
     2017-06-01 17:18:08+08
    (1 row)
分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

跳转到云社区