CONNECT

CONNECT — estabelece uma conexão com o banco de dados

Sinopse

CONNECT TO destino_da_conexão [ AS nome_da_conexão ] [ USER usuário_da_conexão ]
CONNECT TO DEFAULT
CONNECT usuário_da_conexão
DATABASE destino_da_conexão

Descrição

O comando CONNECT estabelece uma conexão entre o cliente e o servidor PostgreSQL.

Parâmetros

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

constante cadeia de caracteres SQL

contém um valor em uma das formas acima

variável do hospedeiro

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, nome_do_usuário IDENTIFIED BY senha, ou 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.

Exemplos

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.

Compatibilidade

O comando CONNECT é especificado no padrão SQL, mas o formato dos parâmetros de conexão é específico da implementação.

Veja também

DISCONNECT, SET CONNECTION