ID-DEB-002 - Criação Do Banco Em PostgreSQL Para O Consignado
ID: KB-ID-DEB-002
Responsável: Thiago Amaral, TI
Status: Publicado
Última Atualização: 16/09/2025
Propósito
Fornecer um guia passo a passo para o time de Suporte TI Nível 1 instalar, configurar, criar usuários e tabelas, e importar dados em um novo servidor de banco de dados PostgreSQL.
Aplica-se a
Time de Suporte TI Nível 1 da Fictor.
Servidores Linux (baseados em Debian/Ubuntu) para novas instalações de banco de dados.
Pré-requisitos
Acesso com permissões
sudoao servidor Linux.Conhecimento básico de comandos de terminal.
Um arquivo de dados (ex: CSV) pronto para importação.
Porta
5432liberada no firewall do servidor para acesso remoto.
Instruções
O processo abrange a instalação, criação do banco e usuário, configuração de acesso remoto e importação de dados.
1. Instalação e Habilitação do Serviço PostgreSQL
Atualize os pacotes do sistema e instale o PostgreSQL:
sudo apt update && sudo apt install postgresql postgresql-contrib -yInicie e habilite o serviço para que ele seja executado automaticamente no boot do servidor:
sudo systemctl start postgresql sudo systemctl enable postgresqlVerifique se o serviço está rodando corretamente:
sudo systemctl status postgresql
2. Criação do Banco de Dados e Usuário
As operações a seguir são feitas dentro do shell do PostgreSQL.
Acesse o shell do sistema com o usuário padrão
postgres:sudo -i -u postgresDentro do shell do usuário
postgres, inicie o prompt de comando do banco de dados:psqlCrie um novo banco de dados (ex: `h_estoque`):
CREATE DATABASE h_estoque;Crie um novo usuário com uma senha criptografada (substitua
thiagoe a senha conforme necessário):CREATE USER thiago WITH ENCRYPTED PASSWORD '5Ux5084J+';Conceda todos os privilégios do novo banco de dados ao novo usuário:
GRANT ALL PRIVILEGES ON DATABASE h_estoque TO thiago;Saia do prompt do
psqlcom\qe depois do shell do usuário comexit.
3. Habilitação de Conexões Remotas
Para permitir que aplicações externas se conectem ao banco, ajuste os seguintes arquivos de configuração.
Edite o arquivo
postgresql.confpara que o serviço escute em um IP específico ou em todos (*). * Arquivo:/etc/postgresql/13/main/postgresql.conf* Altere a linha:listen_addresses = '187.102.181.26'Edite o arquivo
pg_hba.confpara autorizar a conexão do IP configurado, exigindo senha (md5). * Arquivo:/etc/postgresql/13/main/pg_hba.conf* Adicione a linha:host all all 187.102.181.26/32 md5Reinicie o serviço PostgreSQL para aplicar as alterações:
sudo systemctl restart postgresql
4. Criação da Tabela e Importação de Dados
Conecte-se ao banco de dados com o usuário recém-criado para criar a estrutura da tabela.
psql -U thiago -d h_estoqueDentro do `psql`, execute o comando `CREATE TABLE` com as colunas necessárias:CREATE TABLE h_estoque_table ( situacao VARCHAR, pes_tipo_pessoa VARCHAR, cedentecnpjcpf VARCHAR, tit_cedente_ent_codigo VARCHAR, cedentenome VARCHAR, cnae VARCHAR, secaocnaedescricao VARCHAR, notapdd VARCHAR, sac_tipo_pessoa VARCHAR, sacadocnpjcpf VARCHAR, sacadonome VARCHAR, idtitulovortx VARCHAR, tipoativo VARCHAR, dataemissao DATE, dataaquisicao DATE, datavencimento DATE, numeroboleto VARCHAR, numerotitulo VARCHAR, campochave VARCHAR, valoraquisicao NUMERIC, valornominal NUMERIC, valorpresente NUMERIC, pddnota NUMERIC, pddvencido NUMERIC, pagamentoparcial VARCHAR, coobricacao VARCHAR, datageracao DATE, pddtotal NUMERIC, campoadicional1 VARCHAR, campoadicional2 VARCHAR, campoadicional3 VARCHAR, campoadicional4 VARCHAR, campoadicional5 VARCHAR, pddefeitovagao NUMERIC, percentagemefeitovagao NUMERIC );Transfira o arquivo CSV para o servidor usando
scpna sua máquina local.scp /caminho/local/FIDC.csv thiago-asset@IP_DO_SERVIDOR:/home/thiago-asset/Dentro do
psqlno servidor, use o comando\COPYpara importar os dados do arquivo para a tabela.\COPY h_estoque_table FROM '/home/thiago/ESTOQUE_CLEANSED.csv' WITH (FORMAT csv, HEADER true, DELIMITER ';', ENCODING 'UTF-8');
5. Teste de Conexão
Teste Local (dentro do servidor):
psql -U thiago -d h_estoqueTeste Remoto (de outra máquina):
psql -h <IP público do servidor> -U thiago -d h_estoqueEste comando solicitará a senha do usuário
thiago.
Resultado Esperado
Um servidor PostgreSQL funcional e acessível remotamente pela porta 5432. O banco h_estoque deve estar criado, com o usuário thiago tendo acesso total a ele, e a tabela h_estoque_table deve conter os dados importados do arquivo CSV.
Solução de Problemas
Problema/Erro: Datas importadas incorretamente devido ao formato americano (Mês/Dia/Ano). * Solução: Altere o
datestyledo banco de dados para o padrão brasileiro (Dia/Mês/Ano). Conecte-se como superusuário (postgres) e execute:ALTER DATABASE h_estoque SET datestyle = 'ISO, DMY';Problema/Erro: A importação falha devido a valores numéricos com vírgula em vez de ponto. * Solução: Antes de importar, processe o arquivo CSV no servidor com o comando
sedpara substituir as vírgulas por pontos em campos numéricos:sed 's/\([0-9]\),\([0-9]\)/\1.\2/g' FIDC-UTF.csv > FIDC-UTF-fixed.csvProblema/Erro: A importação falha porque o CSV tem colunas vazias, mas a tabela não permite valores nulos. * Solução: Altere a coluna na tabela para permitir valores nulos:
ALTER TABLE h_estoque_table ALTER COLUMN nome_da_coluna DROP NOT NULL;Problema/Erro: Um usuário específico precisa ser o dono do banco de dados. * Solução: Use o comando
ALTER DATABASEpara transferir a propriedade:ALTER DATABASE h_estoque OWNER TO nome_do_usuario;
Artigos Relacionados
N/A
Anexos
Credenciais de Acesso ao Servidor (Exemplo): *
ssh -i thiago-asset_ssh_key [email protected]* Senha:rJ]+42y5S}67Comando para Envio de Arquivos: *
scp /caminho/local/arquivo.csv usuario@servidor:/caminho/remoto/
Referências
Histórico de Revisões
29/01/2024
v1.0
Thiago Thalisson
Confecção do documento.
Last updated