mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-12-21 08:29:39 +08:00
809b38ce27
to prevent possible escalation of privilege. Provide new SECURITY DEFINER functions with old behavior, but initially REVOKE ALL from public for these functions. Per list discussion and design proposed by Tom Lane.
123 lines
2.7 KiB
Plaintext
123 lines
2.7 KiB
Plaintext
$PostgreSQL: pgsql/contrib/dblink/doc/connection,v 1.4.2.1 2007/07/09 01:32:30 joe Exp $
|
|
==================================================================
|
|
Name
|
|
|
|
dblink_connect -- Opens a persistent connection to a remote database
|
|
|
|
Synopsis
|
|
|
|
dblink_connect(text connstr)
|
|
dblink_connect(text connname, text connstr)
|
|
|
|
Inputs
|
|
|
|
connname
|
|
if 2 arguments are given, the first is used as a name for a persistent
|
|
connection
|
|
|
|
connstr
|
|
|
|
standard libpq format connection string,
|
|
e.g. "hostaddr=127.0.0.1 port=5432 dbname=mydb user=postgres password=mypasswd"
|
|
|
|
if only one argument is given, the connection is unnamed; only one unnamed
|
|
connection can exist at a time
|
|
|
|
Outputs
|
|
|
|
Returns status = "OK"
|
|
|
|
Notes
|
|
|
|
Only superusers may use dblink_connect to create non-password
|
|
authenticated connections. If non-superusers need this capability,
|
|
use dblink_connect_u instead.
|
|
|
|
Example usage
|
|
|
|
select dblink_connect('dbname=postgres');
|
|
dblink_connect
|
|
----------------
|
|
OK
|
|
(1 row)
|
|
|
|
select dblink_connect('myconn','dbname=postgres');
|
|
dblink_connect
|
|
----------------
|
|
OK
|
|
(1 row)
|
|
|
|
==================================================================
|
|
Name
|
|
|
|
dblink_connect_u -- Opens a persistent connection to a remote database
|
|
|
|
Synopsis
|
|
|
|
dblink_connect_u(text connstr)
|
|
dblink_connect_u(text connname, text connstr)
|
|
|
|
Inputs
|
|
|
|
connname
|
|
if 2 arguments are given, the first is used as a name for a persistent
|
|
connection
|
|
|
|
connstr
|
|
|
|
standard libpq format connection string,
|
|
e.g. "hostaddr=127.0.0.1 port=5432 dbname=mydb user=postgres password=mypasswd"
|
|
|
|
if only one argument is given, the connection is unnamed; only one unnamed
|
|
connection can exist at a time
|
|
|
|
Outputs
|
|
|
|
Returns status = "OK"
|
|
|
|
Notes
|
|
|
|
With dblink_connect_u, a non-superuser may connect to any database server
|
|
using any authentication method. If the authentication method specified
|
|
for a particular user does not require a password, impersonation and
|
|
therefore escalation of privileges may occur. For this reason,
|
|
dblink_connect_u is initially installed with all privileges revoked from
|
|
public. Privilege to these functions should be granted with care.
|
|
|
|
Example usage
|
|
|
|
|
|
==================================================================
|
|
Name
|
|
|
|
dblink_disconnect -- Closes a persistent connection to a remote database
|
|
|
|
Synopsis
|
|
|
|
dblink_disconnect()
|
|
dblink_disconnect(text connname)
|
|
|
|
Inputs
|
|
|
|
connname
|
|
if an argument is given, it is used as a name for a persistent
|
|
connection to close; otherwiase the unnamed connection is closed
|
|
|
|
Outputs
|
|
|
|
Returns status = "OK"
|
|
|
|
Example usage
|
|
|
|
test=# select dblink_disconnect();
|
|
dblink_disconnect
|
|
-------------------
|
|
OK
|
|
(1 row)
|
|
|
|
select dblink_disconnect('myconn');
|
|
dblink_disconnect
|
|
-------------------
|
|
OK
|
|
(1 row)
|