就像是:
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 thelog_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内部列出文件夹中的文件?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)