-
Notifications
You must be signed in to change notification settings - Fork 892
docs: Setup external PostgreSQL server #4901
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
docs: Setup external PostgreSQL server #4901
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍
docs/install/database.md
Outdated
The database client requires the connection string provided via the `CODER_PG_CONNECTION_URL` variable. | ||
|
||
```sh | ||
export CODER_PG_CONNECTION_URL="postgres://coder@localhost/coder?password=secret42&sslmode=disable" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've only seen the URL formatted as postgres://coder:secret42@localhost/coder?sslmode=disable
before, does the password query param work?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah, these are interchangeable, but I can adjust to the standard pattern user:password
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We seem to actually be using a mixture of both. It might be a good idea for us to standardize behind one usage (see rg postgres://
in repo). But that would be something for a separate PR.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Very nice!
With `psql`: | ||
|
||
```sql | ||
CREATE ROLE coder LOGIN SUPERUSER PASSWORD 'secret42'; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We could consider creating a lower privilege user and granting all on the coder
database instead. But this is for sure simpler. So up to you 😄
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Frankly speaking, I would rather keep it simple here. Those, who want to configure the database considering the security requirements can always tweak it :)
docs/install/database.md
Outdated
Using the `search_path` in the connection string corresponds to the following `psql` command: | ||
|
||
```sql | ||
SET search_path TO myschema; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not sure if we want to confuse readers, but this would also be an option:
ALTER ROLE coder SET search_path = myschema;
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good call, once altered you don't need to set it every time.
|
||
## Troubleshooting | ||
|
||
### Coder server fails startup with "current_schema: converting NULL to string is unsupported" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I ran into this as well when testing it the first time. I love that you added it! ❤️
Co-authored-by: Mathias Fredriksson <mafredri@gmail.com>
Fixes: #3508
(preview)
This PR adds an extra documentation page about setting up the external PostgreSQL server and the connection string.