mirror of
				https://github.com/postgres/postgres.git
				synced 2025-10-31 10:30:33 +03:00 
			
		
		
		
	
		
			
				
	
	
		
			110 lines
		
	
	
		
			4.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			110 lines
		
	
	
		
			4.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| /*
 | |
|  * dblink
 | |
|  *
 | |
|  * Functions returning results from a remote database
 | |
|  *
 | |
|  * Joe Conway <mail@joeconway.com>
 | |
|  * And contributors:
 | |
|  * Darko Prenosil <Darko.Prenosil@finteh.hr>
 | |
|  * Shridhar Daithankar <shridhar_daithankar@persistent.co.in>
 | |
|  * Kai Londenberg (K.Londenberg@librics.de)
 | |
|  *
 | |
|  * Copyright (c) 2001-2006, PostgreSQL Global Development Group
 | |
|  * ALL RIGHTS RESERVED;
 | |
|  * 
 | |
|  * Permission to use, copy, modify, and distribute this software and its
 | |
|  * documentation for any purpose, without fee, and without a written agreement
 | |
|  * is hereby granted, provided that the above copyright notice and this
 | |
|  * paragraph and the following two paragraphs appear in all copies.
 | |
|  * 
 | |
|  * IN NO EVENT SHALL THE AUTHOR OR DISTRIBUTORS BE LIABLE TO ANY PARTY FOR
 | |
|  * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING
 | |
|  * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS
 | |
|  * DOCUMENTATION, EVEN IF THE AUTHOR OR DISTRIBUTORS HAVE BEEN ADVISED OF THE
 | |
|  * POSSIBILITY OF SUCH DAMAGE.
 | |
|  * 
 | |
|  * THE AUTHOR AND DISTRIBUTORS SPECIFICALLY DISCLAIMS ANY WARRANTIES,
 | |
|  * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
 | |
|  * AND FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER IS
 | |
|  * ON AN "AS IS" BASIS, AND THE AUTHOR AND DISTRIBUTORS HAS NO OBLIGATIONS TO
 | |
|  * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
 | |
|  *
 | |
|  */
 | |
| 
 | |
| Release Notes:
 | |
|   27 August 2006
 | |
|     - Added async query capability. Original patch by
 | |
|       Kai Londenberg (K.Londenberg@librics.de), modified by Joe Conway
 | |
|   Version 0.7 (as of 25 Feb, 2004)
 | |
|     - Added new version of dblink, dblink_exec, dblink_open, dblink_close,
 | |
|       and, dblink_fetch -- allows ERROR on remote side of connection to
 | |
|       throw NOTICE locally instead of ERROR
 | |
|   Version 0.6
 | |
|     - functions deprecated in 0.5 have been removed
 | |
|     - added ability to create "named" persistent connections
 | |
|   Version 0.5
 | |
|     - dblink now supports use directly as a table function; this is the new
 | |
|       preferred usage going forward
 | |
|     - Use of dblink_tok is now deprecated; original form of dblink is also
 | |
|       deprecated. They _will_ be removed in the next version.
 | |
|     - dblink_last_oid is also deprecated; use dblink_exec() which returns
 | |
|       the command status as a single row, single column result.
 | |
|     - Original dblink, dblink_tok, and dblink_last_oid are commented out in
 | |
|       dblink.sql; remove the comments to use the deprecated functions.
 | |
|     - dblink_strtok() and dblink_replace() functions were removed. Use
 | |
|       split() and replace() respectively (new backend functions in
 | |
|       PostgreSQL 7.3) instead.
 | |
|     - New functions: dblink_exec() for non-SELECT queries; dblink_connect()
 | |
|       opens connection that persists for duration of a backend;
 | |
|       dblink_disconnect() closes a persistent connection; dblink_open()
 | |
|       opens a cursor; dblink_fetch() fetches results from an open cursor.
 | |
|       dblink_close() closes a cursor.
 | |
|     - New test suite: dblink_check.sh, dblink.test.sql,
 | |
|       dblink.test.expected.out. Execute dblink_check.sh from the same
 | |
|       directory as the other two files. Output is dblink.test.out and
 | |
|       dblink.test.diff. Note that dblink.test.sql is a good source
 | |
|       of example usage.
 | |
| 
 | |
|   Version 0.4
 | |
|     - removed cursor wrap around input sql to allow for remote
 | |
|       execution of INSERT/UPDATE/DELETE
 | |
| 	- dblink now returns a resource id instead of a real pointer
 | |
|     - added several utility functions -- see below
 | |
| 
 | |
|   Version 0.3
 | |
|     - fixed dblink invalid pointer causing corrupt elog message
 | |
|     - fixed dblink_tok improper handling of null results
 | |
|     - fixed examples in README.dblink
 | |
| 
 | |
|   Version 0.2
 | |
|     - initial release    
 | |
| 
 | |
| Installation:
 | |
|   Place these files in a directory called 'dblink' under 'contrib' in the PostgreSQL source tree. Then run:
 | |
| 
 | |
|     make
 | |
|     make install
 | |
| 
 | |
|   You can use dblink.sql to create the functions in your database of choice, e.g.
 | |
| 
 | |
|     psql template1 < dblink.sql
 | |
| 
 | |
|   installs dblink functions into database template1
 | |
| 
 | |
| Documentation:
 | |
| 
 | |
|   Note: Parameters representing relation names must include double
 | |
|      quotes if the names are mixed-case or contain special characters. They
 | |
|      must also be appropriately qualified with schema name if applicable.
 | |
| 
 | |
|   See the following files:
 | |
|      doc/connection
 | |
|      doc/cursor
 | |
|      doc/query
 | |
|      doc/execute
 | |
|      doc/misc
 | |
| 
 | |
| ==================================================================
 | |
| -- Joe Conway
 | |
| 
 |