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