PostgreSQL Prático/Configurações/Configurações Diversas
11.2 - postgresql.conf
editarO postgresql.conf permite configurar as demais funcionalidades do PostgreSQL
Liberando acesso via rede TCP/IP na versão 7.4.x: tcp_socket = true (default = false)
No 8.0.x: listen_address = '10.0.0.16'
Alguns configurações do postgresql.conf: Regra geral: os valores que vêm comentados com # são os valores default. Se formos alterar algum idealmente devemos fazer uma cópia da linha e descomentar, para sempre saber o valor default.
sameuser é o usuário padrão no ident.conf (significa o mesmo user do sistema operacional).
# FILE LOCATIONS
#hba_file = 'ConfigDir/pg_hba.conf' # host-based authentication file
# CONNECTIONS AND AUTHENTICATION
# - Connection Settings –
#
# O parâmetro listen_address define que interfaces de rede do servidor, através de seus endereços IP, aceitam tentativas de conexão via TCP/IP
#listen_addresses = 'localhost' # Quais endereços IP ou nomes onde serão feitas as escutas;
# lista de endereços/nomes separados por vírgula;
# se fôr omitido, o default é 'localhost'
# '*' = todas interfaces de rede estarão habilitadas para escutar requisições
#port = 5432
max_connections = 100 (duas são reservadas para o superusuário)
# note: increasing max_connections costs ~400 bytes of shared memory per
#superuser_reserved_connections = 2
# - Security & Authentication -
#authentication_timeout = 60 # 1-600, in seconds
#ssl = off
#password_encryption = on
# RESOURCE USAGE (except WAL)
# - Memory -
shared_buffers = 1000 # min 16 or max_connections*2, 8KB each
#temp_buffers = 1000 # min 100, 8KB each
#max_prepared_transactions = 5 # can be 0 or more
# note: increasing max_prepared_transactions costs ~600 bytes of shared memory
# per transaction slot, plus lock space (see max_locks_per_transaction).
#work_mem = 1024 # min 64, size in KB
#maintenance_work_mem = 16384 # min 1024, size in KB
#max_stack_depth = 2048 # min 100, size in KB
# - Free Space Map -
#max_fsm_pages = 20000 # min max_fsm_relations*16, 6 bytes each
#max_fsm_relations = 1000 # min 100, ~70 bytes each
Algumas Configurações no postgresql.conf
...
# AUTOVACUUM PARAMETERS
#autovacuum = off # enable autovacuum subprocess?
...
# - Locale and Formatting -
#datestyle = 'iso, mdy' # Era o original
datestyle = 'sql, european' # Formato dd/mm/yyyy
...
#client_encoding = sql_ascii
#client_encoding = latin1 # Suporte à acentuação do Brasil
...
Consultando no psql: SHOW DATESTYLE;
Retorna -> SQL, DMY
Ajustando o estilo da data no psql: SET DATESTYLE TO SQL, DMY;
ALTER ROLE nomeuser SET datestyle TO SQL, DMY;
O caminho de entrada num banco do PostgreSQL: -> postgresql.conf -> ph_hba.conf -> ident.conf (caso este exista e seja citado no pg_hba.conf)
O encoding e outros recursos podem ser passados para cada banco, no momento de sua criação, como por exemplo:
De fora do banco: createdb -E LATIN1 nomebanco.
De dentro do banco (psql): CREATE DATABASE nomebanco WITH ENCODING 'LATIN1';
Para a relação completa dos encoding suportados veja tabela 21-2. Para visualizar a codificação no psql digite \encoding.
Para mudar a codificação de um banco dinamicamente, estando nele utilize: \encoding novoencoding
Como também podemos utilizar o comando SET: SET CLIENT_ENCODING 'LATIN1'; Consultando o encoding existente SHOW CLIENT_ENCODING;
PARA DESFAZER AS ALTERAÇÕES E VOLTAR À CODIFICAÇÃO PADRÃO: RESET CLIENT_ENCODING;
Mais detalhes: http://www.postgresql.org/docs/8.1/interactive/runtime-config.html#CONFIG-SETTING
Para saber os locales existentes execute de dentro do psql: \l -- Exibe bancos, donos e locales (Codificação)
Em cada conexão com o PostgreSQL, somente se pode acessar um único banco. No postgresql.conf podemos definir o encoding através da variável client_encoding.