A libpg-java suporta login sem senha? [fechadas]

3

O seguinte comando é executado corretamente, ou seja, não solicita uma senha, não imprime avisos ou erros e simplesmente fornece um prompt de BD:

$ psql -U dbuser dbname
psql (8.4.10)
Type "help" for help.

dbname=# 

Ao tentar gerar um ERD fora deste banco de dados com SchemaSpy (executando como o mesmo usuário do host), ele não funciona :

$ java -jar ~/schemaSpy.jar -dp /usr/share/java/postgresql.jar -t pgsql \
-host localhost -db dbname -u dbuser -o ~/db

Using database properties:
  [/[...]/schemaSpy.jar]/net/sourceforge/schemaspy/dbTypes/pgsql.properties

Failed to connect to database URL [jdbc:postgresql://localhost/dbname]

org.postgresql.util.PSQLException: The server requested password-based
authentication, but no password was provided.

Se eu tentar uma senha em branco ( -p '' ), ela será impressa:

org.postgresql.util.PSQLException: FATAL: password authentication failed for
user "dbuser"

Como executo o SchemaSpy em um banco de dados PostgreSQL com um usuário do banco de dados que não possui senha?

Eu tentei alterar as configurações de pg_hba.conf para completamente permissivas, mas ainda não funciona:

$ sudo grep ^local /etc/postgresql/*/main/pg_hba.conf
local   all         postgres                          ident
local   all         all                               trust
    
por l0b0 03.02.2012 / 11:30

1 resposta

8

Encontrei a resposta relacionada a um problema semelhante com o pgAdmin III: Ambos os programas (ao contrário de psql ) estabelecem TCP / IP conexões ao invés de conexões de soquete Unix, então a linha relevante em /etc/postgresql/*/main/pg_hba.conf é esta uma, que irá resultar em um prompt de senha mesmo que a senha esteja vazia.

host    all         all         127.0.0.1/32          md5

Para corrigir isso, você precisa confiar nas conexões do localhost, por exemplo, com a seguinte linha:

host    all         all         127.0.0.1/32          trust

e recarregue a configuração:

sudo service postgresql reload

Agora, o SchemaSpy e o pgAdmin devem poder se conectar.

    
por l0b0 03.02.2012 / 12:06