# Postgres Extension to Export Promtheus Metrics
Proof-of-concept
### Developer Setup
If you have not already ran this on your machine, run it now:
```bash
cargo pgx init
```
Enable autoloading of the extension. Note, `data-14` refers to the configuration for Postgres version 14. If you are using a different version, replace `data-14` with the appropriate configuration name, e.g. `data-13` for Postgres 13.
```bash
echo "shared_preload_libraries = 'prometheus_exporter.so'" >> ~/.pgx/data-14/postgresql.conf
```
Compile and run the extension on Postgres 14. This will start Postgres on port 28814. A metrics server will be running on `localhost:8080`.
```bash
cargo pgx run pg14
```
Scrape Prometheus metrics:
```bash
curl localhost:8080/metrics
```
```
# HELP pg_uptime Postgres server uptime.
# TYPE pg_uptime gauge
pg_uptime{} 57
# EOF
```
### Testing
Runs tests:
```bash
cargo pgx test
```