1

I'm trying to run a previously working Rails 3 app with this configuration:

development:
  adapter: postgres-pr
  #encoding: utf-8
  host: localhost
  port: 5432
  database: name
  username: user-name
  password: user-password
  #pool: 5
  #timeout: 5000
  #reconnect: true

It's the first time I use Postgres, so my configuration may be off. PGAdmin works, though.

pg_hba.conf has the following:

local   all             postgres                                peer

local   all             user-name                               password
host    all             user-name       127.0.0.1/32            password
host    all             user-name       ::1/128                 password

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     peer
# IPv4 local connections:
host    all             all             127.0.0.1/32            md5
# IPv6 local connections:
host    all             all             ::1/128                 md5

(I tried other configurations, it doesn't seem to change things).

I get the error ActiveRecord::ConnectionNotEstablished whenever I try to load any page. The network trace reveals the following:

socket(PF_INET, SOCK_STREAM, IPPROTO_IP) = 9
setsockopt(9, SOL_SOCKET, SO_REUSEADDR, [1], 4) = 0
bind(9, {sa_family=AF_INET, sin_port=htons(3000), sin_addr=inet_addr("0.0.0.0")}, 16) = 0
listen(9, 100)                          = 0
accept(9, {sa_family=AF_INET, sin_port=htons(50500), sin_addr=inet_addr("127.0.0.1")}, [16]) = 10
setsockopt(10, SOL_TCP, TCP_NODELAY, [1], 4) = 0
accept(9, 0xbf937aec, [16])             = -1 EAGAIN (Resource temporarily unavailable)
getpeername(10, {sa_family=AF_INET, sin_port=htons(50500), sin_addr=inet_addr("127.0.0.1")}, [16]) = 0

network,open trace doesn't have the port 5432 either.

I can't see the port that I wanted here, am I setting it in the wrong way? What else could be the problem here?

1 Answer 1

2

This is my 'database.yml', not using 'port' at all, maybe it can hint you in the right direction:

# PostgreSQL. Versions 7.4 and 8.x are supported.
#
# Install the pg driver:
#   gem install pg
# On Mac OS X with macports:
#   gem install pg -- --with-pg-config=/opt/local/lib/postgresql84/bin/pg_config
# On Windows:
#   gem install pg
#       Choose the win32 build.
#       Install PostgreSQL and put its /bin directory on your path.
#
# Configure Using Gemfile
# gem 'pg'
#
development:
  adapter: postgresql
  encoding: unicode
  database: name
  pool: 5
  username: name
  password: 

  # Connect on a TCP socket. Omitted by default since the client uses a
  # domain socket that doesn't need configuration. Windows does not have
  # domain sockets, so uncomment these lines.
  #host: localhost
  #port: 5432

  # Schema search path. The server defaults to $user,public
  #schema_search_path: myapp,sharedapp,public

  # Minimum log levels, in increasing order:
  #   debug5, debug4, debug3, debug2, debug1,
  #   log, notice, warning, error, fatal, and panic
  # The server defaults to notice.
  #min_messages: warning

# Warning: The database defined as "test" will be erased and
# re-generated from your development database when you run "rake".
# Do not set this db to the same as development or production.
test: &test
  adapter: postgresql
  encoding: unicode
  database: name
  pool: 5
  username: name
  password: 
  min_messages: warning

production:
  adapter: postgresql
  encoding: unicode
  database: name
  pool: 5
  username: name
  password:

cucumber:
  <<: *test
1
  • It worked! Ok, i don't know exactly what fixed things: 1) I switched back to pg, 2) I used bundle exec, 3) I changed 'adapter' to postgresql and removed host, port and encoding data. Commented May 11, 2012 at 9:30

Not the answer you're looking for? Browse other questions tagged or ask your own question.