postgresql – 如何从Postgres内部列出文件夹中的文件?

postgresql – 如何从Postgres内部列出文件夹中的文件?,第1张

概述有没有办法列出文件夹中的文件? 就像是: select * from pg_ls_dir('/home/christian') 我试过pg_ls_dir但是,per documentation: Only files within the database cluster directory and the log_directory can be accessed. Use a relative 有没有办法列出文件夹中的文件?

就像是:

select * from pg_ls_dir('/home/christian')

我试过pg_ls_dir但是,per documentation:

Only files within the database cluster directory and the log_directory
can be accessed. Use a relative path for files in the cluster
directory,and a path matching the log_directory configuration setting
for log files. Use of these functions is restricted to superusers.

我需要列出postgres目录之外的文件夹中的文件,类似于copY的 *** 作方式.

它通常对sql客户端没用.

无论如何,你需要实现它,这是像plperlu这样的脚本语言的典型用例.例:

CREATE FUNCTION nosecurity_ls(text) RETURNS setof text AS $$  opendir(my $d,$_[0]) or dIE $!;  while (my $f=readdir($d)) {    return_next($f);  }  return undef; $$language plperlu;

除了限制之外,这相当于System Administration Functions中提到的pg_ls_dir(text)函数.

=> select * from nosecurity_ls('/var/lib/postgresql/9.1/main') as ls;
      ls      ----------------- pg_subtrans pg_serial pg_notify pg_clog pg_multixact .. base pg_twophase etc...
总结

以上是内存溢出为你收集整理的postgresql – 如何从Postgres内部列出文件夹中的文件?全部内容,希望文章能够帮你解决postgresql – 如何从Postgres内部列出文件夹中的文件?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1181744.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-02
下一篇 2022-06-02

发表评论

登录后才能评论

评论列表(0条)

保存