(PHP 4 >= 4.2.0, PHP 5, PHP 7)
pg_lo_create — Erzeugt ein Large Object
pg_lo_create() erzeugt ein Large Object und gibt
dessen dessen OID zurück. Die Zugriffsmethoden von
PostgreSQL, INV_READ
, INV_WRITE
und
INV_ARCHIVE
werden nicht unterstützt. Ein Large
Object wird immer mit Lese- und Schreibzugriff erzeugt.
INV_ARCHIVE
wurde von PostgreSQL (ab Version 6.3
und höher) entfernt.
Um die Large Object (lo) Schnittstelle benutzen zu können, müssen die Kommandos innerhalb einer Transaktion ausgeführt werden.
Anstelle der Large Object Schnittstelle (für die es keine Zugriffssteuerung gibt und deren Benutzung etwas schwerfällig ist) können Sie den PostgreSQL Datentyp bytea und die Funktion pg_escape_bytea() benutzen.
Hinweis:
Diese Funktion ersetzt die Funktion pg_locreate().
connection
PostgreSQL Verbindungkennung. Falls connection
nicht
angegeben wurde, wird die Standardverbindung benutzt. Das ist die zuletzt mit
pg_connect() oder pg_pconnect() geöffnete
Verbindung.
object_id
Wenn es einen Parameter object_id
gibt, wird diese
Funktion versuchen, ein Large Object mit dieser ID zu erzeugen. Anderenfalls
wird dem Large Object vom Server eine freie ID zugewiesen. Dieser Parameter
steht seit PHP 5.3 zur Verfügung und basiert auf Funktionalitäten, die seit
PostgreSQL 8.1 implementiert sind.
Ein Large Object OID oder FALSE
,
falls ein Fehler auftrat.
Version | Beschreibung |
---|---|
5.3.0 |
Der optionale Parameter |
Beispiel #1 pg_lo_create() Beispiel
<?php
$database = pg_connect("dbname=jacarta");
pg_query($database, "begin");
$oid = pg_lo_create($database);
echo "$oid\n";
$handle = pg_lo_open($database, $oid, "w");
echo "$handle\n";
pg_lo_write($handle, "Daten fuer das Large Object");
pg_lo_close($handle);
pg_query($database, "commit");
?>