0

So I am using VS code on Ubuntu for WSL and fork a rails app from GitHub and when I try to run rails db:set up, it gives me this error:

could not connect to server: No such file or directory
        Is the server running locally and accepting
        connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?
Couldn't create 'development_database' database. Please check your configuration.
rails aborted!
ActiveRecord::NoDatabaseError: could not connect to server: No such file or directory
        Is the server running locally and accepting
        connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?

...traces...

Caused by:
PG::ConnectionBad: could not connect to server: No such file or directory
        Is the server running locally and accepting
        connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?

And I tried to run service postgresql status, I get 10/main (port 5432): down.

And when I tried dpkg -l | grep postgres, I got this back:

ii  postgresql                     10+190ubuntu0.1                    all          object-relational SQL database (supported version)
ii  postgresql-10                  10.10-0ubuntu0.18.04.1             amd64        object-relational SQL database, version 10 server
ii  postgresql-client              10+190ubuntu0.1                    all          front-end programs for PostgreSQL (supported version)
ii  postgresql-client-10           10.10-0ubuntu0.18.04.1             amd64        front-end programs for PostgreSQL 10
ii  postgresql-client-common       190ubuntu0.1                       all          manager for multiple PostgreSQL client versions
ii  postgresql-common              190ubuntu0.1                       all          PostgreSQL database-cluster manager
ii  postgresql-contrib             10+190ubuntu0.1                    all          additional facilities for PostgreSQL (supported version)

Does that mean the problem is my server is not running? What should I do to run the server or create the database?

2 Answers 2

2

That means your server is installed but not running. Try

service postgresql start 

to start the server.

To check that your instance is running, try running

psql -U postgres -d postgres

Unless you have messed with your HBA configuration, that should connect you to your local postgres database (the default management DB) in role postgres.

Sign up to request clarification or add additional context in comments.

5 Comments

Thanks! It does help me start the server. But I got this error: psql: FATAL: Peer authentication failed for user "postgres" How can I authenticate myself? It never asks for my password as user postgres
Try psql -d postgres (which will try to access the DB as your linux username). If you are looking to understand this peer authentication stuff, check out the pg_hba.conf file, postgresql.org/docs/9.1/auth-pg-hba-conf.html Basically, you need to configure how users can connect to your DB.
Thanks a lot for your patience and answer!
If you think my answer sufficiently addresses your question, don't forget to mark it as accepted.
I just did sorry I forgot
0

another quick way to fix this problem after starting the service is to run the following command

sudo -u postgres psql

likewise you connect to the default postgres database using the default user "postgres"

when you connect to "psql" create the "role" to allow you to connect without using the above credentials; expl:

postgres=# CREATE ROLE username LOGIN SUPERUSER CREATEDB CREATEROLE REPLICATION BYPASSRLS;

those are the setting to create a superuser role, with the ability to connect to the default database "postgres" from the terminal like the following:

username@yourserver:~$ psql postgres username

or

username@yourserver:~$ psql -U username -d postgres

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.