The Crystal Programming Language Forum

Connect Amber to Postgress

I had Postgress already installed, and installed crystal and amber, according to the instructions, but I’m not able to connect to the server.

amber db create migrate
Connection unsuccessful: postgres://postgres:password@localhost:5432/postgres

do I need to somehow select a server, and give the password, or look in path to see where Postgress is?

Are you sure that the username and password is correct?

I don’t know how to change the username or password, can I set up postgress without a passoword?

the bash command (Ubuntu 20.04.3 LTS)

psql -h database user

creates the error

psql: error: connection to server at "" (, port 5432 failed: Connection refused

Is the server running on that host and accepting TCP/IP connections?

Do I set the TCP/IP in pgAdmin 4 ?

I’m far from an expert on this. All I usually do is type psql with no arguments in the terminal to access the database.

In the code I use postgres as both username and password.


how do I put that in bash?

It seems like it should be straight forward, so that’s why I’m confussed. I don’t think I messed anything up.

According to their docs it looks like you need to create a file (if not already created) with the name {project_name}/config/environments/{current_environment}.yml, e.g. if your app is named todo then it should be todo/config/environments/development.yml.

This file should look something like (docs)

# other settings ...

database_url: postgres://postgres:@localhost:5432/database_name

# other settings ...

Now you should be able to run e.g. amber db create and other db commands.

where is this file created? I think I have Postgress in root , and i’m keep forgeting to access root.

It should be in your app’s config/environments folder

I don’t see that in amber-stable , do I create a new folder in home?

It should be inside your app.

Their docs says to run amber new app_name to create a new app. This app should have a config folder.

Now modify app_name/config/environments/development.yml as I described above.

amber new pet-tracker

Does this create an app called pet-tracker?

According to their docs, yes

OK, get it now

database_url: postgres://postgres:password@localhost:5432/pet_tracker_development

is the name in the .yml

there are comments

# ssl_key_file:
# ssl_cert_file:

do these have anything to do with a password?

I’d recommend to just ignore those for now.

ok so I showed you that the line you suggested to change is the same, what do I look at now?

Now try amber db create

Connection unsuccessful

Does it matter what directory I’m in?

It shouldn’t matter.


is your postgres user’s password password? Otherwise try change it to postgres