リモートマシン(Ubuntu 12.04)でpostgresql(9.1.4)サーバーを実行していますが、ローカルマシンでサーバーにアクセスできません。具体的には、ローカルマシンでは、他のユーザー名とデータベースを持っていても、ユーザー名「postgres」とデータベース名「postgres」のみを使用してリモートサーバーにアクセスできます。最初にいくつかの背景情報。リモートマシンで「psql」を使用して呼び出される対話型環境で、「mxtxdb」という別のユーザーを作成し、そのユーザーのパスワードを設定しました。「mxtxdb」というデータベースも作成しました。それらの存在を示すために、私はリモートマシンにログオンして、次のコマンドを実行しました。
sudo su postgres
Password:
postgres@myhost:~$ psql
psql (9.1.4)
Type "help" for help.
postgres=# \du
List of roles
Role name | Attributes | Member of
-----------+------------------------------------------------+-----------
mxtxdb | | {}
postgres | Superuser, Create role, Create DB, Replication | {}
postgres=# \l
List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges
-----------+----------+----------+-------------+-------------+-----------------------
mxtxdb | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =Tc/postgres +
| | | | | postgres=CTc/postgres+
| | | | | mxtxdb=CTc/postgres
postgres | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 |
template0 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/postgres +
| | | | | postgres=CTc/postgres
template1 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/postgres +
| | | | | postgres=CTc/postgres
(4 rows)
さらに、リモートマシン上にいる間、「mxtxdb」postgresqlアカウントからデータベースにアクセスできます。
postgres@myhost:~$ psql -h localhost -U mxtxdb -d mxtxdb
Password for user mxtxdb:
psql (9.1.4)
Type "help" for help.
mxtxdb=>
しかし、ローカルマシンで同じことを行おうとすると、次のようになります。
psql -h <server's address> -U postgres -d "postgres" -p 5432
Password for user postgres:
psql (9.1.4)
Type "help" for help.
postgres=#
と
psql -h <server's address> -U "postgres" -d "mxtxdb" -p 5432
Password for user postgres:
psql: FATAL: database "mxtxdb" does not exist
と
psql -h <server's address> -U "mxtxdb" -d "mxtxdb" -p 5432
Password for user mxtxdb:
psql: FATAL: role "mxtxdb" does not exist
pg_hba.confファイルの最後の2行は次のとおりです。
host all mxtxdb 0.0.0.0/0 trust
host all postgres 0.0.0.0/0 trust
そして、listen_addressesはpostgresql.confファイルで'*'に設定されています(そしてコメントされていません)。
他のアカウントやデータベースにリモートでアクセスできない理由はありますが、リモートマシンにSSH接続するとアクセスできますか?