PostgreSQLには汎用ファイルアクセス関数が用意されておりこちらを使ってOS配下のファイルをアクセスします。画像データ等のバイナリーデータを扱う際にもこれら関数を使います
フォルダ配下の一覧取得
pg_ls_dir(‘.’)はデータベースクラスタディレクトリ($PGDATA)配下の一覧を出力します。シンボリックリンクを用いれば基本的に全てのファイルにアクセス可能になります
select pg_ls_dir('.');
myposdb=# select pg_ls_dir('.');
pg_ls_dir
----------------------
pg_wal
global
pg_commit_ts
pg_dynshmem
pg_notify
pg_serial
pg_snapshots
pg_subtrans
pg_twophase
pg_multixact
base
pg_replslot
pg_tblspc
pg_stat
pg_stat_tmp
pg_xact
pg_logical
PG_VERSION
postgresql.auto.conf
pg_ident.conf
log
postmaster.opts
postgresql.conf
pg_hba.conf
postmaster.pid
pg_hba.conf.bk
current_logfiles
temp
(28 rows)
myposdb=#