• 締切済み

postgresQL に格納した画像ファイルはどこに保存されていますか?

takasgyの回答

  • takasgy
  • ベストアンサー率42% (30/71)
回答No.1

日本PostgreSQLユーザ会の日本語のドキュメント集が参考になるかと思います。 ラージオブジェクトの説明については、プログラマガイド、バックアップについてはアドミニストレータガイドを参照してください。 一応回答としては... ラージオブジェクトはデータベース内に格納されています。 ラージインターフェースオブジェクトについてはバージョンが4.2までは、外部ファイルとして格納するなど3種類の格納方法があったようですが、6.5ではデータベースに格納されるとあります。

参考URL:
http://www.jp.postgresql.org/
higa
質問者

お礼

貴重な情報をありがとうございます。 早速調べてみます。 ありがとうございました。

関連するQ&A

  • PostgreSQL6.5.3から8.2.3へラージオブジェクトの移行

    PostgreSQL6.5.3から8.2.3への移行作業を行っています。 ほぼ全てのデータ移行は完了したのですが画像(ラージオブジェクト)の移行ができず困っています。 6.5.3のpg_dumpではラージオブジェクトのエクスポートはサポートされていないと思うのですが、移行ツールのようなものはないでしょうか。 何か良い手段があればご教授下さい。 また、移行したデータにラージオブジェクトのOIDが保存されており、そちらの値も更新する必要があると考えています。 ちなみに6.5.3のdata/base/db名のディレクトリ内に「xinv***」「xinx***」というファイルがあり、これが実体かな、と勝手に予想しています。このデータを用いてうまく移行できないものか、とも考えています。 どうかよろしくお願いします。

  • 画像ファイルのUPについて

    PostgreSQL7+PHP4で物品交換サイトを構築でして、物品の写真(Gif,JPG50Kバイトまで)を掲載するにあたり、PostgreSQL7のレコードに画像ファイルを格納出来るのでしょうか?出来るのであればその仕方を教えてください。 画像ファイルをDBに保存せず、フォルダーに保存するやり方では第三者にそのフォルダーの書き込み権限を与えセキュリティー上よくないと技術本に書いてありましたので。

  • PHP+PostgreSQLを使ってPDFファイル管理DBを作成したい。

    現在、PostgreSQL+PHPでPDFファイル管理DBを作成したいと思っています。 開発環境は、 Solaris8 Apache1.3.12 PostgreSQL7.1.3 PHP-4.1.0 で行っています。 今、PostgreSQLのラージオブジェクトを使用してPDFファイルをDBに登録したいと考えております。 ここで、質問なのですがPDFファイルをDB登録するときにライブラリ等必要なものがありますでしょうか? また、PHP+PostgreSQLの環境で、PDF管理DBのサンプルがあったら教えていただけないでしょうか? よろしくお願いいたします。

    • 締切済み
    • PHP
  • ラージオブジェクトについて

    PDFファイルのデータベースをPostgreSQLで構築しています。 データベースの項目には「タイトル」「著者名」「注釈」などとともにラージオブジェクトとしてPDFファイルそのものをデータベースに取り込んでいます。PDFファイルのファイルサイズは10KB~20MB程度です。 最近、書店でPostgreSQLの本を見てもラージオブジェクトに関する解説を書いたものがほとんどなく、ひょっとすると将来的にはラージオブジェクトは廃止になるのではと危惧しています。 よく考えてみれば、データベースを初めに構築するときに、PDFファイルをファイルシステムのディレクトリ内に保存して、そのファイル名をデータベースで管理すれば良かったと今頃後悔しているところです。 ラージオブジェクトを使って、バイナリファイル(ここではPDF)を保管するメリットがあるのか? ラージオブジェクトはPostgreSQLで今後も対応されるのか? など、ご意見、感想などありましたらご教示ください。 ラージオブジェクトにメリットが無いなら、近い将来、あまりデータベースが巨大にならないうちに、PDFファイルを取り出すスクリプトなど作らなければと考えております。 よろしくお願いいたします。

  • PostgreSQLのラージオブジェクトを使って画像を表示したい

    現在、PostgreSQL+PHPで画像管理DBを作成しています。 開発環境は、 Solaris8 Apache1.3.12 PostgreSQL7.1.3 PHP-4.1.0 で行っています。 今、PostgreSQLのラージオブジェクトを使用して画像(JPEG)のDBへの登録及び画面に表示するところを作っているのですが、PHPのスクリプトを作成してWeb上から動作確認を行ったところ、画面に以下の文字が表示されました。 =====表示される文字列===== ・・JFIF,,・厥hotoshop 3.08BIM,, ・'File written by Adobe 屯胖7GWgwt6Х牌范 : ========================= 多分、画像(JPEG)のバイナリがそのまま出力されていると思われます。 これは、PHPの問題なのでしょうかそれとも、DBへの登録が失敗したのでしょうか? 教えていただけないでしょうか?また、 PHP4.1.0+PostgreSQL7.1.3の環境で画像管理DBのなにかサンプルがあれば教えてください。

    • 締切済み
    • PHP
  • PostgreSQL バッチでバックアップ

    PostgreSQL 8.4に関する質問です。 サーバ:Linux、PostgreSQL 8.4 クライアント:Windows 7 Windowsマシンから、バッチファイルでサーバ上のPostgresのバックアップを取りたいのですが、 以下のコマンドをバッチファイルに記述して実行すると、 「パスワード:」というプロンプトが出て処理が止まってしまいます。 pg_dump.exe -h [DBサーバのIP] -U [ユーザ名] -F custom -b -v -f "C:\test.backup" "test" パスワードを入れればバックアップはできるのですが、 パスワードの入力まで完全自動化するにはどうすればいいでしょうか。 Linux上のPostgresはSSL接続のみ許可するようになっています。 Windowsのタスクで毎日バックアップする運用を想定しています。

  • 画像などの格納方法

    お世話になります。 データベースで画像やPDFなどを扱う場合、そのファイルそのものをデータベースに格納する方法と、ファイル名を格納する方法があると思います。 ファイル名を格納する方法は行ったことがあるのですが、それぞれのメリットデメリットが解りません。あるいはこのよう場合はこちらのほうがよいとかあるのでしょうか。 1つにAccessのようにデータベースのサイズが制限させている場合はファイル実体を入れた場合すぐに制限を超えかねないので注意することぐらいしかわかりません。 よろしくお願いします。

  • バイナリデータ格納について

    はじめまして。 現在、以下のシステム構成でWEBシステムを作成しています。 ▼システム構成 ----------------------  CentOS 5.97  PHP 5.1.6  POSTGRESQL 8.1.9  Apache 2.2.3 ---------------------- PHPを使用して、画像ファイルをバイナリデータに変換し DBに格納しようとしていますが、うまく動作しません。 ▼ソース ---------------------- //画像をバイナリ型に変換します。 $fn = "../../images/uploaded/$image_name"; $cn = @file_get_contents("$fn"); $esc_image = pg_escape_bytea($cn); //DB登録に写真を登録します。 $s=""; $s.="insert into cbphoto("; $s.=" photoid,"; $s.=" photo"; $s.=") values ("; $s.=" $photoid,"; $s.=" '{$esc_image}'"; $s.=")"; $r=pg_exec($db,$s); ---------------------- 小さいファイル(20kb以下前後)は問題なく格納できるのですが、 大きいファイルの場合は、格納されません。 ※ただし、上記のphotoidは格納されます。  また、エラーメッセージも出力されていない様です。 マニュアルを確認するとバイナリ列は1GBまで格納できると 記載されていましたが、ファイルサイズが原因で格納できないのでしょうか? また、他に原因があるのでしょうか? (ラージオブジェクトじゃないとダメ等) 以上、お手数ですがよろしくお願いいたします。

  • Windows 7などの格納場所

    こちらにパーティションとNTFSの説明があります。 http://www.exceedone.co.jp/tabid/112/Default.aspx (1) NTFSとはこの図のどの部分のことを言うのでしょうか。 (2) この図にWindows 7をインストールした場合、Windows 7はどこに格納されるのでしょうか。「ブートファイル」でしょうか。それとも、「ブートファイル」にはWindows 7は格納されなくてブートストラップしか格納されないのでしょうか。 (3) この図に言う「ファイルシステム」は、ハードディスク上で、パーティションの先頭部分(最も内側の(いくつかの)トラックの最初のいくつかのセクター)に格納されるのでしょうか。 (4) この図に言う「ファイルシステム」は、どのくらいの大きさなのでしょうか。 (5) Wordファイルなどユーザーが作ったデータは、この図のどこに格納されるのでしょうか。次の4個所でしょうか。 スモールディレクトリ スモールファイル ラージディレクトリー ラージファイル

  • ファイルアップロードによるPostgreSQLのデータ更新について

    OSはRedhat7.2、webサーバとしてはapache1.3.26を使用しています。 現在PHP4とPostgreSQLを使用してのwebアプリを構築中ですが、データベースへのレコード追加のことで質問があります。 テキストファイルをアップロードしデータベースに流し込むという処理をPHPから行いたいのです。 PostgreSQLに用意されているCOPYコマンドを使おうと思っていたのですがどうやらこれはPHPからは使えないらしいのです。このコマンドはPostgreSQLのスーパーユーザのみ実効可能とのことですが、DB接続時のユーザをスーパーユーザにしてもだめでした。 現在は、 echo \\\copy テーブル名 from '/tmp/$uploadfile_name' | /usr/local/pgsql/bin/psql データベース名 という文をシステム関数を使用して流すことにより処理していますが、これだとwebサーバとデータベースサーバが同じマシンじゃないとだめです。 データベースサーバとwebサーバを別のマシンにして同じような処理をするには、テキストファイルの中身を1行ずつ変数に格納して、1行ずつinsert文を発行していくしかないのでしょうか?また、この方法だと処理時間はかなりかかるのでしょうか?ちなみにテキストデータの中身は大体200行前後で一番多いときで1000行ほどです。フィールド数は70ほどです。どなたかよい方法があれば教えてください。 よろしくお願いします。

    • ベストアンサー
    • PHP