2

pg_read_binary_file()PostgreSQL関数の使用方法に関するいくつかのドキュメントを求めて、あらゆる場所 (google、stackoverflow など) を探してきました。

私が見つけることができる唯一の意味のあるものは、公式ドキュメントのこのページです。

この関数を使用しようとするたびに、エラーが発生します。

例えば:

    SELECT pg_read_binary_file('/some/path/and/file.gif');
    ERROR:  absolute path not allowed

また

    SELECT pg_read_binary_file('file.gif');
    ERROR:  could not stat file "file.gif": No such file or directory

Postgres がアクセスできるようにするには、ファイルを特定のディレクトリに置く必要がありますか? もしそうなら、どのディレクトリですか?


それが重要な場合、私がこの関数を見ているのは、クレイジーなことをせずにデータベースにファイルを挿入しようとしているからです。

4

1 に答える 1

6

@a_horse_with_no_name と @guedes が述べているように、解決策は、アップロードされるファイルがサーバーの PGDATA ディレクトリにあることを確認することです。

postgresのドキュメントには、ファイルの場所が要件として記載されています。

さらに、別のディレクトリから PGDATA ディレクトリへのシンボリック リンクを作成して、postgres のデータ構造を妨げないようにしました。これはうまく機能しているようで、上記のクレイジーなことをする必要はありません。

于 2013-05-18T00:58:32.997 に答える