CXIX. PostgreSQL függvények

Postgres, amit eredetileg a UC Berkeley Computer Science Department fejlesztett ki, úttörő volt az objektum-relációs adatmodellek területén, és most elérhetővé válik több kereskedelmi adatbázisban is. Támogatja az SQL92/SQL3 nyelv használatát, tranzakciók integritását és a típusok kiterjeszthetőségét. A PostgreSQL egy public-domain, nyílt forrású leszármazottja ennek az eredeti Berkeley kódnak.

A PostgreSQL ingyenes. A legújabb verzió a www.PostgreSQL.org címen érhető el.

A 6.3 verzió óta (03/02/1998) a PostgreSQL unix socketeket használ. A lenti táblázat mutatja az új kapcsolatteremtési lehetőségeket. Ez a socket a /tmp/.s.PGSQL.5432 néven érhető el. Ezt az opciót a postmaster parancs '-i' kapcsolójával érheted el, a jelentése pedig: "figyeld a TCP/IP socketeket is úgy, mint a unix socketeket".

Táblázat 1. Postmaster és a PHP

PostmasterPHPÁllapot
postmaster &pg_connect("", "", "", "", "dbname");OK
postmaster -i &pg_connect("", "", "", "", "dbname");OK
postmaster &pg_connect("localhost", "", "", "", "dbname"); Unable to connect to PostgreSQL server: connectDB() failed: Is the postmaster running and accepting TCP/IP (with -i) connection at 'localhost' on port '5432'? in /path/to/file.php3 on line 20. vagyis: Nem lehet kapcsolódni a PostgreSQL szerverhez: a connectDB() hívás meghiúsult. Fut a postmaster, és fogadja a TCP/IP kapcsolatokat (-i) a helyi gépen az 5432-es porton? a /elérési_út/a/file.php3 a 20-as sorban
postmaster -i &pg_connect("localhost", "", "", "", "dbname");OK

A következőképp is kezdhetsz kapcsolatot: $conn = pg_Connect("host=localhost port=5432 dbname=chris");

Annak érdekében, hogy használhassunk nagy objektum felületet (lo), szükséges az egészet egy tranzakciós blokkba foglalni. A tranzakciós blokk egy begin-nel kezdődik, és ha a tranzakció érvényes, egy commit-tal vagy egy end-del végződik. Ha a tranzakció meghiúsul, akkor rollback vagy abort paranccsal kell végződnie.

Példa 1. Nagy objektumok használata

<?php
    $database
= pg_Connect ("", "", "", "", "jacarta");
    
pg_exec ($database, "begin");
    
$oid = pg_locreate ($database);
    echo (
"$oid\n");
    
$handle = pg_loopen ($database, $oid, "w");
    echo (
"$handle\n");
    
pg_lowrite ($handle, "gaga");
    
pg_loclose ($handle);
    
pg_exec ($database, "commit");
?>

Tartalom
pg_affected_rows -- Returns number of affected records (tuples)
pg_cancel_query --  Cancel an asynchronous query
pg_client_encoding --  Gets the client encoding
pg_Close -- lezár egy PostgreSQL kapcsolatot
pg_Connect -- megnyit egy kapcsolatot
pg_connection_busy --  Get connection is busy or not
pg_connection_reset --  Reset connection (reconnect)
pg_connection_status --  Get connection status
pg_convert --  Convert associative array values into suitable for SQL statement
pg_copy_from --  Insert records into a table from an array
pg_copy_to --  Copy a table to an array
pg_DBname -- adatbázis neve
pg_delete --  Deletes records
pg_end_copy -- Sync with PostgreSQL backend
pg_escape_bytea --  Escape a string for insertion into a bytea field
pg_escape_string --  Escape a string for insertion into a text field
pg_execute -- Sends a request to execute a prepared statement with given parameters, and waits for the result.
pg_fetch_all_columns -- Fetches all rows in a particular result column as an array
pg_fetch_all -- Fetches all rows from a result as an array
pg_Fetch_Array -- beolvas egy sort egy tömbbe
pg_fetch_assoc -- Fetch a row as an associative array
pg_Fetch_Object -- sor beolvasása objektumként
pg_fetch_result -- Returns values from a result resource
pg_Fetch_Row -- következő sor beolvasása numerikusan indexelt tömbbe
pg_field_is_null -- Test if a field is SQL NULL
pg_field_name -- Returns the name of a field
pg_field_num -- Returns the field number of the named field
pg_field_prtlen -- Returns the printed length
pg_field_size --  Returns the internal storage size of the named field
pg_field_table -- Returns the name or oid of the tables field
pg_field_type_oid --  Returns the type ID (OID) for the corresponding field number
pg_field_type --  Returns the type name for the corresponding field number
pg_free_result -- Free result memory
pg_get_notify -- Gets SQL NOTIFY message
pg_get_pid -- Gets the backend's process ID
pg_get_result --  Get asynchronous query result
pg_Host -- A hostnevet adja vissza
pg_insert --  Insert array into table
pg_last_error -- Get the last error message string of a connection
pg_last_notice --  Returns the last notice message from PostgreSQL server
pg_last_oid -- Returns the last row's OID
pg_lo_close -- Close a large object
pg_lo_create -- Create a large object
pg_lo_export -- Export a large object to file
pg_lo_import -- Import a large object from file
pg_lo_open -- Open a large object
pg_lo_read_all --  Reads an entire large object and send straight to browser
pg_lo_read -- Read a large object
pg_lo_seek --  Seeks position within a large object
pg_lo_tell --  Returns current seek position a of large object
pg_lo_unlink -- Delete a large object
pg_lo_write -- Write to a large object
pg_meta_data --  Get meta data for table
pg_num_fields -- Returns the number of fields in a result
pg_num_rows -- Returns the number of rows in a result
pg_Options -- Returns options
pg_parameter_status -- Looks up a current parameter setting of the server.
pg_pConnect --  Tartós adatbázis-kapcsolatot hoz létre
pg_ping -- Ping database connection
pg_Port -- Melyik porton van a kapcsolat
pg_prepare --  Submits a request to create a prepared statement with the given parameters, and waits for completion.
pg_put_line -- Send a NULL-terminated string to PostgreSQL backend
pg_query_params -- Submits a command to the server and waits for the result, with the ability to pass parameters separately from the SQL command text.
pg_query -- Execute a query
pg_result_error_field -- Returns an individual field of an error report.
pg_result_error --  Get error message associated with result
pg_result_seek -- Set internal row offset in result resource
pg_result_status --  Get status of query result
pg_select --  Select records
pg_send_execute -- Sends a request to execute a prepared statement with given parameters, without waiting for the result(s).
pg_send_prepare -- Sends a request to create a prepared statement with the given parameters, without waiting for completion.
pg_send_query_params -- Submits a command and separate parameters to the server without waiting for the result(s).
pg_send_query --  Sends asynchronous query
pg_set_client_encoding --  Set the client encoding
pg_set_error_verbosity --  Determines the verbosity of messages returned by pg_last_error() and pg_result_error().
pg_trace -- PostgreSQL szerver kapcsolatot követ nyomon
pg_transaction_status -- Returns the current in-transaction status of the server.
pg_tty -- A tty nevét adja vissza
pg_unescape_bytea --  Unescape binary for bytea type
pg_untrace -- Abbahagyja az adott kapcsolat nyomkövetését
pg_update --  Update table
pg_version --  Returns an array with client, protocol and server version (when available)