Passenger and postgresql in production environment

Hi everyone:

I am dragging for personal use a rails application using postgresql
that
has been working for some time now. As I installed Fedora 16 adapted the
rails application to the new tools. The application works fine as long
as
It is tried in development environment.

As soon as the production environment is used the following messages
are
captured: “we’re sorry, but something went wrong.” in the browser. And

Started GET “/album/” for 200.88.224.30 at Sun Dec 11 19:28:07 -0400
2011
PGError (FATAL: Peer authentication failed for user “postgres” ):
in the log/production.log file

Any help would be very much appreciated .

Felipe

On Sun, 2011-12-11 at 19:59 -0400, gato pardo wrote:

Started GET “/album/” for 200.88.224.30 at Sun Dec 11 19:28:07 -0400
2011
PGError (FATAL: Peer authentication failed for user “postgres” ):
in the log/production.log file

Any help would be very much appreciated .


I would not recommend that user ‘postgres’ is the user of any postgresql
database from within rails but that is not an answer to your question
but only a suggestion.

If you check your RAILS_ROOT/config/database.yml file, you should have a
section at least for ‘development’, ‘test’ and ‘production’

You don’t say what is different from each configuration (obviously only
the development & production configurations are relevant to your
question) and you don’t tell us if the the server is the same for both
development and production.

If I was going to guess, I would think that your development section
uses a ‘socket’ to connect (something like /var/lib/mysql/mysqld.sock)
and in production, you don’t use a socket so it tries to use TCP/IP Port
5432 which would cause user postgres to fail unless specifically
configured in the pg_hba_conf file (but user postgres is really intended
to use only via a local socket.

Craig


This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.

On Sun, Dec 11, 2011 at 11:27 PM, Craig W.
[email protected]wrote:

Started GET “/album/” for 200.88.224.30 at Sun Dec 11 19:28:07 -0400
If you check your RAILS_ROOT/config/database.yml file, you should have a
which would cause user postgres to fail unless specifically configured in
the pg_hba_conf file (but user postgres is really intended to use only via
a local socket.

Craig

Hi again:

I should remenber that there are no great differences between
development and production section in the database yml file.

config/database.yml

development:
adapter: postgresql
encoding: unicode
database: db_album
pool: 5
username: user

And yes, I am using the same database for both environments. (maybe I
should use another database for production), but what get me confused is
that I get access to the database from any other node in the network
when
rails is not the tool used.

I shall tried with other database users and other database in this
application.

Thanks

Felipe

and what does

Craig:

as I said, there is no difference between the two sections

production:
adapter: postgresql
encoding: unicode
database: db_album
pool: 5
username: user
password:

And, the strange in it all is that it has worked before.

Felipe

On Dec 12, 2011, at 12:25 PM, gato pardo wrote:

are captured: “we’re sorry, but something went wrong.” in the

I should remenber that there are no great differences between development
and production section in the database yml file.

I shall tried with other database users and other database in this
application.

Thanks


and what does
production:
adapter: ?
encoding: ?
database: ?
pool: ?
username: ?

look like?

Craig

On Dec 12, 2011, at 6:34 PM, gato pardo wrote:

username: user
encoding: ?
as I said, there is no difference between the two sections

production:
adapter: postgresql
encoding: unicode
database: db_album
pool: 5
username: user
password:

And, the strange in it all is that it has worked before.


well I can only comment on what I see and what I don’t see and I don’t
see anything that relates to ‘how’ the connection to the database server
is being made (TCP/IP or local socket) and since the first post
suggested that you were using ‘postgres’ as the ‘username’ - that almost
requires that it be a local socket and not TCP/IP. Of course you can
bend pg_hba.conf and give user ‘postgres’ a password and I would have
absolutely no way of knowing that.

I think if you want some more useful help, you’re going to have to
supply more details.

Craig