This is an accompanying repository of the article Back to basics: Writing an application using Go and PostgreSQL by Henrique Vicente. Feel free to open issues to ask any questions or comment on anything.
pgxtutorial uses the following environment variables:
| Environment Variable | Description |
|---|---|
| PostgreSQL environment variables | Please check https://www.postgresql.org/docs/current/libpq-envars.html |
| INTEGRATION_TESTDB | When running go test, database tests will only run if INTEGRATION_TESTDB=true |
| OTEL_EXPORTER | When OTEL_EXPORTER=stdout or OTEL_EXPORTER=otel, telemetry is exported |
To play with it install Go on your system.
You'll need to connect to a PostgreSQL database.
You can check if a connection is working by calling psql.
To run tests:
# Run all tests passing INTEGRATION_TESTDB explicitly
$ INTEGRATION_TESTDB=true go test -v ./...To run application:
# Create a database
$ psql -c "CREATE DATABASE pgxtutorial;"
# Set the environment variable PGDATABASE
$ export PGDATABASE=pgxtutorial
# Run migrations
$ tern migrate -m ./migrations
# Execute application
$ go run ./cmd/pgxtutorial
2021/11/22 07:21:21 HTTP server listening at localhost:8080
2021/11/22 07:21:21 gRPC server listening at 127.0.0.1:8082