Thread: Postgres java interface test error

Postgres java interface test error

From
h2o@lineone.net (N.A.)
Date:
Hi everyone,

I am trying to test the java interface for postgresql dbms on a redhat
linux 6.1.  I am telnetting into the system remotely and running as
postgres user.  Following the test instructions, I get the following
message:
************************************ start of message *************

PostgreSQL psql example v6.3 rev 1

Connecting to Database URL = jdbc:postgresql:template1
Exception caught.
Something unusual has occured to cause the driver to fail. Please report
this ex
ception: java.sql.SQLException: Missing or erroneous pg_hba.conf file,
see postm
aster log for details
Something unusual has occured to cause the driver to fail. Please report
this ex
ception: java.sql.SQLException: Missing or erroneous pg_hba.conf file,
see postm
aster log for details
        at postgresql.Driver.connect(Driver.java:125)
        at java.sql.DriverManager.getConnection(DriverManager.java:517)
        at java.sql.DriverManager.getConnection(DriverManager.java:177)
        at psql.<init>(psql.java:30)
        at psql.main(psql.java:204)

****************************** end of message ***********************


I don't understand the bit about postmaster - where can I see the
postmaster's log?  My pg_hba.conf looks as follows:

--------------------------------------- start of pg_hba.conf
------------------------
#
# Example PostgreSQL host access control file.
#
#
# This file controls what hosts are allowed to connect to what databases

# and specifies some options on how users on a particular host are
identified.
# It is read each time a host tries to make a connection to a database.
#
# Each line (terminated by a newline character) is a record.  A record
cannot
# be continued across two lines.
#
# There are 3 kinds of records:
#
#   1) comment:  Starts with #.
#
#   2) empty:  Contains nothing excepting spaces and tabs.
#
#   3) content: anything else.
#
# Unless specified otherwise, "record" from here on means a content
# record.
#
# A record consists of tokens separated by spaces or tabs.  Spaces and
# tabs at the beginning and end of a record are ignored as are extra
# spaces and tabs between two tokens.
#
# The first token in a record is the record type.  The interpretation of
the
# rest of the record depends on the record type.
#
# Record type "host"
# ------------------
#
# This record identifies a set of network hosts that are permitted to
connect
# to databases.  No network hosts are permitted to connect except as
specified
# by a "host" record.  See the record type "local" to specify permitted
# connections using UNIX sockets.
#
# Format:
#
#   host DBNAME IP_ADDRESS ADDRESS_MASK USERAUTH [AUTH_ARGUMENT]
#
# DBNAME is the name of a PostgreSQL database, "all" to indicate all
# databases, or "sameuser" to restrict a user's access to a database
# with the same user name.
#
# IP_ADDRESS and ADDRESS_MASK are a standard dotted decimal IP address
and
# mask to identify a set of hosts.  These hosts are allowed to connect
to
# Database DBNAME.
#
# USERAUTH is a keyword indicating the method used to authenticate the
# user, i.e. to determine that the principal is authorized to connect
# under the PostgreSQL username he supplies in his connection
parameters.
#
#   ident:  Authentication is done by the ident server on the remote
#           host, via the ident (RFC 1413) protocol.  AUTH_ARGUMENT, if
#           specified, is a map name to be found in the pg_ident.conf
file.
#           That table maps from ident usernames to PostgreSQL
usernames.  The
#           special map name "sameuser" indicates an implied map (not
found
#           in pg_ident.conf) that maps every ident username to the
identical
#           PostgreSQL username.
#
#   trust:  No authentication is done.  Trust that the user has the
#           authority to use whatever username he specifies.  Before
#           PostgreSQL version 6, all authentication was done this way.
#
#   reject: Reject the connection.
#
#   password:  Authentication is done by matching a password supplied in
clear
#        by the host.  If AUTH_ARGUMENT is specified then the password
#              is compared with the user's entry in that file (in the
$PGDATA
#        directory).  See pg_passwd(1).  If it is omitted then the
#        password is compared with the user's entry in the pg_shadow
#        table.
#
#   crypt:  Authentication is done by matching an encrypted password
supplied
#     by the host with that held for the user in the pg_shadow table.
#
#   krb4:   Kerberos V4 authentication is used.
#
#   krb5:   Kerberos V5 authentication is used.

# Record type "local"
# ------------------
#
# This record identifies the authentication to use when connecting to a
# particular database via a local UNIX socket.
#
# Format:
#
#   local DBNAME USERAUTH [AUTH_ARGUMENT]
#
# The format is the same as that of the "host" record type except that
the
# IP_ADDRESS and ADDRESS_MASK are omitted and the "ident", "krb4" and
"krb5"
# values of USERAUTH are not allowed.

# For backwards compatibility, PostgreSQL also accepts pre-version 6
records,
# which look like:
#
#   all         127.0.0.1    0.0.0.0

# TYPE       DATABASE    IP_ADDRESS    MASK              USERAUTH  MAP

#host         all         127.0.0.1     255.255.255.255   trust

# The above allows any user on the local system to connect to any
database
# under any username.

#host         template1   192.168.0.0   255.255.255.0     ident
sameuser

# The above allows any user from any host with IP address 192.168.0.x to

# connect to database template1 as the same username that ident on that
host
# identifies him as (typically his Unix username).

#host         all        192.168.0.1   255.255.255.255   reject
#host         all        0.0.0.0       0.0.0.0           trust

# The above would allow anyone anywhere except from 192.168.0.1 to
connect to
# any database under any username.

#host         all        192.168.0.0  255.255.255.0      ident
omicron
#
# The above would allow users from 192.168.0.x hosts to connect to any
# database, but if Ident says the user is "bryanh" and he requests to
# connect as PostgreSQL user "guest1", the connection is only allowed if

# there is an entry for map "omicron" in pg_ident.conf that says
"bryanh" is
# allowed to connect as "guest1".

# By default, allow anything over UNIX domain sockets and localhost.

local        all                                         trust
host         all         192.168.10.x  255.255.255.0     trust
host         all         127.0.0.1     255.255.255.255   trust
---------------------------------------end of pg_hba.conf
------------------------

Can you explain what's going on and how I can remediate the setup so
that I have a fully java enabled and accessible postgresql environment?

Thanks in advance for all the helps.

Regards,
N.A.

Re: Postgres java interface test error

From
"Dave Cramer"
Date:
It appears that the pg_hba.conf file is not set up properly. It is not a
java problem

Dave
----- Original Message -----
From: "N.A." <h2o@lineone.net>
To: <pgsql-general@postgresql.org>
Sent: Friday, June 01, 2001 8:15 AM
Subject: [GENERAL] Postgres java interface test error


> Hi everyone,
>
> I am trying to test the java interface for postgresql dbms on a redhat
> linux 6.1.  I am telnetting into the system remotely and running as
> postgres user.  Following the test instructions, I get the following
> message:
> ************************************ start of message *************
>
> PostgreSQL psql example v6.3 rev 1
>
> Connecting to Database URL = jdbc:postgresql:template1
> Exception caught.
> Something unusual has occured to cause the driver to fail. Please report
> this ex
> ception: java.sql.SQLException: Missing or erroneous pg_hba.conf file,
> see postm
> aster log for details
> Something unusual has occured to cause the driver to fail. Please report
> this ex
> ception: java.sql.SQLException: Missing or erroneous pg_hba.conf file,
> see postm
> aster log for details
>         at postgresql.Driver.connect(Driver.java:125)
>         at java.sql.DriverManager.getConnection(DriverManager.java:517)
>         at java.sql.DriverManager.getConnection(DriverManager.java:177)
>         at psql.<init>(psql.java:30)
>         at psql.main(psql.java:204)
>
> ****************************** end of message ***********************
>
>
> I don't understand the bit about postmaster - where can I see the
> postmaster's log?  My pg_hba.conf looks as follows:
>
> --------------------------------------- start of pg_hba.conf
> ------------------------
> #
> # Example PostgreSQL host access control file.
> #
> #
> # This file controls what hosts are allowed to connect to what databases
>
> # and specifies some options on how users on a particular host are
> identified.
> # It is read each time a host tries to make a connection to a database.
> #
> # Each line (terminated by a newline character) is a record.  A record
> cannot
> # be continued across two lines.
> #
> # There are 3 kinds of records:
> #
> #   1) comment:  Starts with #.
> #
> #   2) empty:  Contains nothing excepting spaces and tabs.
> #
> #   3) content: anything else.
> #
> # Unless specified otherwise, "record" from here on means a content
> # record.
> #
> # A record consists of tokens separated by spaces or tabs.  Spaces and
> # tabs at the beginning and end of a record are ignored as are extra
> # spaces and tabs between two tokens.
> #
> # The first token in a record is the record type.  The interpretation of
> the
> # rest of the record depends on the record type.
> #
> # Record type "host"
> # ------------------
> #
> # This record identifies a set of network hosts that are permitted to
> connect
> # to databases.  No network hosts are permitted to connect except as
> specified
> # by a "host" record.  See the record type "local" to specify permitted
> # connections using UNIX sockets.
> #
> # Format:
> #
> #   host DBNAME IP_ADDRESS ADDRESS_MASK USERAUTH [AUTH_ARGUMENT]
> #
> # DBNAME is the name of a PostgreSQL database, "all" to indicate all
> # databases, or "sameuser" to restrict a user's access to a database
> # with the same user name.
> #
> # IP_ADDRESS and ADDRESS_MASK are a standard dotted decimal IP address
> and
> # mask to identify a set of hosts.  These hosts are allowed to connect
> to
> # Database DBNAME.
> #
> # USERAUTH is a keyword indicating the method used to authenticate the
> # user, i.e. to determine that the principal is authorized to connect
> # under the PostgreSQL username he supplies in his connection
> parameters.
> #
> #   ident:  Authentication is done by the ident server on the remote
> #           host, via the ident (RFC 1413) protocol.  AUTH_ARGUMENT, if
> #           specified, is a map name to be found in the pg_ident.conf
> file.
> #           That table maps from ident usernames to PostgreSQL
> usernames.  The
> #           special map name "sameuser" indicates an implied map (not
> found
> #           in pg_ident.conf) that maps every ident username to the
> identical
> #           PostgreSQL username.
> #
> #   trust:  No authentication is done.  Trust that the user has the
> #           authority to use whatever username he specifies.  Before
> #           PostgreSQL version 6, all authentication was done this way.
> #
> #   reject: Reject the connection.
> #
> #   password:  Authentication is done by matching a password supplied in
> clear
> #        by the host.  If AUTH_ARGUMENT is specified then the password
> #              is compared with the user's entry in that file (in the
> $PGDATA
> #        directory).  See pg_passwd(1).  If it is omitted then the
> #        password is compared with the user's entry in the pg_shadow
> #        table.
> #
> #   crypt:  Authentication is done by matching an encrypted password
> supplied
> #     by the host with that held for the user in the pg_shadow table.
> #
> #   krb4:   Kerberos V4 authentication is used.
> #
> #   krb5:   Kerberos V5 authentication is used.
>
> # Record type "local"
> # ------------------
> #
> # This record identifies the authentication to use when connecting to a
> # particular database via a local UNIX socket.
> #
> # Format:
> #
> #   local DBNAME USERAUTH [AUTH_ARGUMENT]
> #
> # The format is the same as that of the "host" record type except that
> the
> # IP_ADDRESS and ADDRESS_MASK are omitted and the "ident", "krb4" and
> "krb5"
> # values of USERAUTH are not allowed.
>
> # For backwards compatibility, PostgreSQL also accepts pre-version 6
> records,
> # which look like:
> #
> #   all         127.0.0.1    0.0.0.0
>
> # TYPE       DATABASE    IP_ADDRESS    MASK              USERAUTH  MAP
>
> #host         all         127.0.0.1     255.255.255.255   trust
>
> # The above allows any user on the local system to connect to any
> database
> # under any username.
>
> #host         template1   192.168.0.0   255.255.255.0     ident
> sameuser
>
> # The above allows any user from any host with IP address 192.168.0.x to
>
> # connect to database template1 as the same username that ident on that
> host
> # identifies him as (typically his Unix username).
>
> #host         all        192.168.0.1   255.255.255.255   reject
> #host         all        0.0.0.0       0.0.0.0           trust
>
> # The above would allow anyone anywhere except from 192.168.0.1 to
> connect to
> # any database under any username.
>
> #host         all        192.168.0.0  255.255.255.0      ident
> omicron
> #
> # The above would allow users from 192.168.0.x hosts to connect to any
> # database, but if Ident says the user is "bryanh" and he requests to
> # connect as PostgreSQL user "guest1", the connection is only allowed if
>
> # there is an entry for map "omicron" in pg_ident.conf that says
> "bryanh" is
> # allowed to connect as "guest1".
>
> # By default, allow anything over UNIX domain sockets and localhost.
>
> local        all                                         trust
> host         all         192.168.10.x  255.255.255.0     trust
> host         all         127.0.0.1     255.255.255.255   trust
> ---------------------------------------end of pg_hba.conf
> ------------------------
>
> Can you explain what's going on and how I can remediate the setup so
> that I have a fully java enabled and accessible postgresql environment?
>
> Thanks in advance for all the helps.
>
> Regards,
> N.A.
>
> ---------------------------(end of broadcast)---------------------------
> TIP 2: you can get off all lists at once with the unregister command
>     (send "unregister YourEmailAddressHere" to majordomo@postgresql.org)
>
>