PHP Doku:: Sendet eine NULL-terminierte Zeichenkette zum PostgreSQL-Server - function.pg-put-line.html

Verlauf / Chronik / History: (1) anzeigen

Sie sind hier:
Doku-StartseitePHP-HandbuchFunktionsreferenzDatenbankerweiterungenAnbieterspezifische DatenbankerweiterungenPostgreSQLPostgreSQL-Funktionenpg_put_line

Ein Service von Reinhard Neidl - Webprogrammierung.

PostgreSQL-Funktionen

<<pg_prepare

pg_query_params>>

pg_put_line

(PHP 4 >= 4.0.3, PHP 5)

pg_put_lineSendet eine NULL-terminierte Zeichenkette zum PostgreSQL-Server

Beschreibung

bool pg_put_line ([ resource $connection ], string $data )

pg_put_line() sendet eine NULL-terminierte Zeichenkette an den PostgreSQL-Server. Das ist in Verbindung mit dem PostgreSQL-Befehl COPY FROM notwendig.

COPY ist eine PostgreSQL-Anweisung, mit der Daten mit hoher Geschwindigkeit in eine Tabelle eingefügt werden können. Die Daten werden ungeparst und in einer einzigen Transaktion übertragen.

Alternativ zu pg_put_line() kann pg_copy_from() verwendet werden. Dies ist weitaus einfacher.

Hinweis:

Eine Anwendung muss explizit die beiden Zeichen "\." in der letzten Zeile an PostgreSQL übertragen, um anzuzeigen, dass die Datenübertragung beendet ist, bevor pg_end_copy() aufgerufen wird.

Warnung

Die Verwendung von pg_put_line() führt bei den meisten Operationen mit Large Objects zu Fehlern. So etwa bei pg_lo_read() und pg_lo_tell(). Stattdessen sollten Sie pg_copy_from() und pg_copy_to() benutzen.

Parameter-Liste

connection

PostgreSQL Verbindungskennung. Falls connection nicht angegeben wurde, wird die zuletzt mit pg_connect() oder pg_pconnect() geöffnete Verbindung benutzt.

data

Eine Textzeile, die direkt an den PostgreSQL Datenbankserver gesendet wird. Dabei wird automatisch ein NULL an das Zeilenende angehängt.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Beispiele

Beispiel #1 pg_put_line() Beispiel

<?php 
  $conn 
pg_pconnect("dbname=foo");
  
pg_query($conn"create table bar (a int4, b char(16), d float8)");
  
pg_query($conn"copy bar from stdin");
  
pg_put_line($conn"3\thello world\t4.5\n");
  
pg_put_line($conn"4\tgoodbye world\t7.11\n");
  
pg_put_line($conn"\\.\n");
  
pg_end_copy($conn);
?>

Siehe auch


Ein BenutzerBeitrag:
- Beiträge aktualisieren...
kurt at nospam dot milliganshome dot net
22.08.2005 18:08
This is the function you need if you are running into the infamous "must be superuser to COPY to or from a file" error from postgres.



PHP Powered Diese Seite bei php.net
The PHP manual text and comments are covered by the Creative Commons Attribution 3.0 License © the PHP Documentation Group - Impressum - mail("TO:Reinhard Neidl",...)