CONNECT — estabelece uma conexão com o banco de dados
CONNECT TOdestino_da_conexão
[ ASnome_da_conexão
] [ USERusuário_da_conexão
] CONNECT TO DEFAULT CONNECTusuário_da_conexão
DATABASEdestino_da_conexão
O comando CONNECT
estabelece uma conexão entre
o cliente e o servidor PostgreSQL.
destino_da_conexão
destino_da_conexão
especifica o servidor de destino da conexão em uma das várias
formas.
nome_do_banco_de_dados
] [ @
hospedeiro
] [ :
porta
]Conecta usando TCP/IP
unix:postgresql://
hospedeiro
[ :
porta
] /
[ nome_do_banco_de_dados
] [ ?
opção_de_conexão
]Conecta através de soquete de domínio Unix
tcp:postgresql://
hospedeiro
[ :
porta
] /
[ nome_do_banco_de_dados
] [ ?
opção_de_conexão
]Conecta usando TCP/IP
contém um valor em uma das formas acima
variável do hospedeiro do tipo de dados char[]
ou VARCHAR[]
, contendo um valor em uma das
formas acima
nome_da_conexão
Um identificador opcional para a conexão, para poder ser referenciado em outros comandos. Pode ser um identificador SQL, ou uma variável do hospedeiro.
usuário_da_conexão
O nome do usuário para a conexão com o banco de dados.
Esse parâmetro também pode especificar o nome do usuário e a
senha, usando uma das seguintes formas
,
nome_do_usuário
/senha
, ou
nome_do_usuário
IDENTIFIED BY senha
.
nome_do_usuário
USING senha
O nome do usuário e a senha podem ser identificadores SQL, constantes de cadeia de caracteres, ou variáveis do hospedeiro.
DEFAULT
Use todos os parâmetros de conexão padrão, conforme definidos pela libpq.
A seguir estão algumas variantes para especificar os parâmetros da conexão:
EXEC SQL CONNECT TO "connectdb" AS main; EXEC SQL CONNECT TO "connectdb" AS second; EXEC SQL CONNECT TO "unix:postgresql://200.46.204.71/connectdb" AS main USER connectuser; EXEC SQL CONNECT TO "unix:postgresql://localhost/connectdb" AS main USER connectuser; EXEC SQL CONNECT TO 'connectdb' AS main; EXEC SQL CONNECT TO 'unix:postgresql://localhost/connectdb' AS main USER :user; EXEC SQL CONNECT TO :db AS :id; EXEC SQL CONNECT TO :db USER connectuser USING :pw; EXEC SQL CONNECT TO @localhost AS main USER connectdb; EXEC SQL CONNECT TO REGRESSDB1 as main; EXEC SQL CONNECT TO AS main USER connectdb; EXEC SQL CONNECT TO connectdb AS :id; EXEC SQL CONNECT TO connectdb AS main USER connectuser/connectdb; EXEC SQL CONNECT TO connectdb AS main; EXEC SQL CONNECT TO connectdb@localhost AS main; EXEC SQL CONNECT TO tcp:postgresql://localhost/ USER connectdb; EXEC SQL CONNECT TO tcp:postgresql://localhost/connectdb USER connectuser IDENTIFIED BY connectpw; EXEC SQL CONNECT TO tcp:postgresql://localhost:20/connectdb USER connectuser IDENTIFIED BY connectpw; EXEC SQL CONNECT TO unix:postgresql://localhost/ AS main USER connectdb; EXEC SQL CONNECT TO unix:postgresql://localhost/connectdb AS main USER connectuser; EXEC SQL CONNECT TO unix:postgresql://localhost/connectdb USER connectuser IDENTIFIED BY "connectpw"; EXEC SQL CONNECT TO unix:postgresql://localhost/connectdb USER connectuser USING "connectpw"; EXEC SQL CONNECT TO unix:postgresql://localhost/connectdb?connect_timeout=14 USER connectuser;
A seguir está um exemplo de programa mostrando o uso de variáveis do hospedeiro para especificar os parâmetros da conexão:
int main(void) { EXEC SQL BEGIN DECLARE SECTION; char *dbname = "testdb"; /* nome do banco de dados */ char *user = "testuser"; /* nome do usuário de conexão */ char *connection = "tcp:postgresql://localhost:5432/testdb"; /* cadeia de caracteres da conexão */ char ver[256]; /* área para armazenar a cadeia de caracteres da versão */ EXEC SQL END DECLARE SECTION; ECPGdebug(1, stderr); EXEC SQL CONNECT TO :dbname USER :user; EXEC SQL SELECT pg_catalog.set_config('search_path', '', false); EXEC SQL COMMIT; EXEC SQL SELECT version() INTO :ver; EXEC SQL DISCONNECT; printf("versão: %s\n", ver); EXEC SQL CONNECT TO :connection USER :user; EXEC SQL SELECT pg_catalog.set_config('search_path', '', false); EXEC SQL COMMIT; EXEC SQL SELECT version() INTO :ver; EXEC SQL DISCONNECT; printf("versão: %s\n", ver); return 0; }
N. T.
O programa completo ajustado com o arquivo Makefile
e o resultado do processamento estão mostrados em
Parâmetros da conexão.
O comando CONNECT
é especificado no padrão
SQL, mas o formato dos parâmetros de conexão
é específico da implementação.