Database
Como configurar parâmetros de conexões a bancos de dados?
RT.DB.FAQ-10772
São permitidas conexões com vários bancos de dados simultaneamente.
Cada conexão é identificada com um nome e possui um gerenciador de conexões independente.
As configurações das conexões são realizadas na Configurações do servidor através da sub-árvore de configurações CONFIG.DB, no formato:
CONFIG.DB.[nome].[parametro]
Por padrão, as aplicações possuem pelo menos uma conexão como o nome DEFAULT, ou seja, os parâmetros de conexão com o banco principal, serão algo como:
CONFIG.DB.DEFAULT.URL=jdbc:postgresql://localhost/eligo
CONFIG.DB.DEFAULT.USER=postgres
CONFIG.DB.DEFAULT.PASSWORD=secret
CONFIG.DB.DEFAULT.DRIVER=org.postgresql.Driver
Para outras conexões, deve-se criar outro conjunto de parâmetros utilizando um nome diferente de DEFAULT. Exemplo:
CONFIG.DB.LEGADO.DRIVER=org.firebirdsql.jdbc.FBDriver
CONFIG.DB.LEGADO.URL=jdbc:firebirdsql://localhost:3050/C:/temp/legado/DADOSADM.GDB
CONFIG.DB.LEGADO.USER=sysdba
CONFIG.DB.LEGADO.PASSWORD=masterkey
CONFIG.DB.LEGADO.CHARSET=ISO8859_1
CONFIG.DB.LEGADO.ENCODING=ISO8859_1
CONFIG.DB.LEGADO.VALIDATION_QUERY=SELECT CAST(1 AS INTEGER) FROM rdb$database;
Os parâmetros reconhecidos (após o nome) são:
ALIAS
Indica que esta conexão é um alias para uma outra conexão. Por exemplo: Caso deseje usar o LOG na conexão default, basta incluir CONFIG.DB.LOG.ALIAS=DEFAULT
DRIVER
Classe do driver JDBC a ser utilizada para conexão.
URL
URL de conexão (conforme documentação do driver).
USER
Nome do usuário com o qual a conexão de banco é estabelecida.
PASSWORD
Senha do usuário com o qual a conexão de banco é estabelecida.
MAX_CONNECTIONS
Número máximo de conexões aceitos no pool. Caso não informado, assume 40 conexões simultâneas (por data source). Note que por padrão, o PostgreSQL permite apenas 100 conexões simultâneas. Por isso, em servidores que possuem muitas instâncias, este valor deverá ser menor para evitar o colapso de conexões ativas por parte do banco.
VALIDATION_QUERY
Query a ser utilizada para verificar se a conexão está saudável.
MAX_WAIT
Tempo limite que o pool de conexões aguarda até que uma conexão seja liberada (quando não existe mais nenhuma disponível).
SEQUENCE_MANAGER
Classe a ser utilizada como gerenciador de sequencias. Caso não informado, será utilizado um gerenciador padrão conforme o driver do banco de dados.
MIN_IDLE
Número mínimo de conexões que poderão permanecer ativas.
MAX_IDLE
Número máximo de conexões que poderão permanecer livres no pool.
TIME_BETWEEN_EVICTION_RUNS_MILLIS
Tempo de intervalo (em milisegundos) entre uma verificação de descarte de conexões e outra.
MIN_EVICTION_IDLE_TIME_MILLIS
Tempo mínimo que uma conexão deve permanecer disponível antes de ser descartada.
TRACE_CONNECTIONS
Indica se deve ou não rastrear com quem estão as conexões. O padrão é "S". Neste caso, sempre que uma sessão pegar uma conexão, o ambiente irá registrar a identificação da sessão nesta conexão e registrar o processo de conexão do banco na sessão.
Ver também: