Erro ao conectar ao postgresql via aplicaçao Java [RESOLVIDO]

1. Erro ao conectar ao postgresql via aplicaçao Java [RESOLVIDO]

Carlos Adriano
subwat

(usa Fedora)

Enviado em 23/09/2017 - 00:28h

Olá, bom dia/tarde/noite, eu sempre usei Windows/Ubuntu e resolvi testar o Fedora 26 (acho que é a ultima versão). Faço curso de Ciência da Computação e uso o banco de dados postgresql e estou desenvolvendo aplicação em Java. Acontece que toda vez que vou acessar o banco pela minha aplicação, não importando o usuário que eu acesse, dá erro de autenticação do tipo 'ident'. Já fiz os comandos
su postgres
psql
\password postgres

digitei nova senha, eu consigo me logar pelo postgres tanto no terminal quanto no pgadmin 3 e 4.
Muita coisa que vi na internet me mandava alterar o arquivo pg_hba.conf, mas eu não achei ele nos meus diretórios, somente um pg_hba.conf.sample, que ao parecer tinha o mesmo conteúdo, mas sempre tinha que procurar essa linha
# Database administrative login by UNIX sockets
local all postgres ident sameuser

e eu nunca tenho ela, o máximo que tenho é:
@authcomment@

# TYPE DATABASE USER ADDRESS METHOD

@remove-line-for-nolocal@# "local" is for Unix domain socket connections only
@remove-line-for-nolocal@local all all @authmethodlocal@
# IPv4 local connections:
host all all 127.0.0.1/32 @authmethodhost@
# IPv6 local connections:
host all all ::1/128 @authmethodhost@
# Allow replication connections from localhost, by a user with the
# replication privilege.
@remove-line-for-nolocal@#local replication @default_username@ @authmethodlocal@
#host replication @default_username@ 127.0.0.1/32 @authmethodhost@
#host replication @default_username@ ::1/128 @authmethodhost@


Já desinstalei o postgres, e o voltei a instalar e dar o comando
sudo postgres initdb

para criar o arquivo pg_hba, mas aparece esse erro
WARNING: using obsoleted argument syntax, try --help
WARNING: arguments transformed to: postgresql-setup --initdb --unit postgresql
* Initializing database in '/var/lib/pgsql/data'
ERROR: Data directory /var/lib/pgsql/data is not empty!
ERROR: Initializing database failed, possibly see /var/lib/pgsql/initdb_postgresql.log



Caso seja necessário, estou fazendo o acesso ao postgresql na aplicação desta maneira. E sim, eu tenho o driver JDBC vinculado ao meu código:

//de parametros eu uso conectar("jdbc:postgresql://localhost:5432/", "NomeDaDataBase", "user", "senha");
private static boolean conectar(String local,String banco,String usuario,String senha)
{
boolean conectado=false;
try
{
String url = local+banco; //"jdbc:postgresql://localhost/"+banco;
connect = DriverManager.getConnection(url, usuario,senha);
con = new Conexao(connect, "");
conectado=true;
}
catch ( SQLException sqlex )
{
erro="Impossivel conectar com a base de dados: " + sqlex.toString();
}
catch ( Exception ex )
{
erro="Outro erro: " + ex.toString();
}
return conectado;
}



  


2. Achei a solução!! Esperança é a última que morre

Carlos Adriano
subwat

(usa Fedora)

Enviado em 23/09/2017 - 01:00h

Achei o tal bendito pg_hba.conf, pra quem usa Fedora 26, basta ir em
sudo su
--insira sua senha--
cd vi /var/lib/pgsql/data/pg_hba.conf

e lá no final, aonde tem os 'ident', coloca 'md5', vai resolver todos os problemas






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts