無料スクリプト配布のPHP.TO   PHPの実用的なtips PHPマニュアル MySQLマニュアル Apacheマニュアル PostgreSQLマニュアル マニュアル検索    

32.2. 実装機能

ラージオブジェクトの実装では、ラージオブジェクトを "チャンク" に分割し、チャンクをデータベース内の行に格納しています。 B-treeインデックスは読み書き用のランダムアクセスに際して、正確なチャンク番号の高速検索を保証しています。

ラージオブジェクト用のチャンクは継続性を持ちません。 例えば、アプリケーションが新しくラージオブジェクトを開き、1000000オフセットにシークし、数バイトそこに書き出した場合、これは1000000バイトほどの格納領域が割り当てられることにはなりません。 データバイトの範囲に対応するチャンクのみが実際に書き出されます。 しかし読み取り操作は最後に存在するチャンクの前にある未割り当ての領域すべてとしてゼロを読み取ります。 これは Unix ファイルシステムの "スパース割り当て" ファイルの一般動作に一致します。

PostgreSQL 9.0からラージオブジェクトは所有者およびアクセス権限を持ちます。 これは GRANT および REVOKE を使用して管理可能です。 ラージオブジェクトの読み取りには SELECT 権限が必要です。 また書き出し、切り詰めのためには UPDATE 権限が必要です。 ラージオブジェクトの所有者(またはデータベーススーパーユーザ)のみがラージオブジェクトの削除、コメント付け、所有者の変更が可能です。 過去のリリースとの互換性に関するこの動作を調整するためには lo_compat_privileges 実行時パラメータを参照してください。


powered by SEO.CUG.NET