Database Module

The Database module handles all PostgreSQL database interactions, including connection management, table setup, and query execution.

Database Connection

Functions for creating, managing, and using database connections:

GeoIDs.DB.get_connectionFunction
get_connection() -> LibPQ.Connection

Returns a connection to the database specified by environment variables. By default connects to "geocoder" database on localhost:5432.

Environment variables:

  • GEOIDSDBNAME: Database name (defaults to "geocoder")
  • GEOIDSDBHOST: Database host (defaults to "localhost")
  • GEOIDSDBPORT: Database port (defaults to "5432")
  • GEOIDSDBUSER: Database user (defaults to current system user)
  • GEOIDSDBPASSWORD: Database password (defaults to empty string)
source
GeoIDs.DB.with_connectionFunction
with_connection(f::Function)

Execute function f with a database connection, ensuring the connection is closed after use.

source
GeoIDs.DB.get_connection_stringFunction
get_connection_string()

Build a PostgreSQL connection string from environment variables or defaults.

Environment Variables

  • GEOIDS_DB_NAME: Database name (default: "tiger")
  • GEOIDS_DB_HOST: Database host (default: "localhost")
  • GEOIDS_DB_PORT: Database port (default: 5432)
  • GEOIDS_DB_USER: Database user (default: current system user)
  • GEOIDS_DB_PASSWORD: Database password (default: empty)
source
GeoIDs.DB.get_db_nameFunction
get_db_name() -> String

Get the database name from the GEOIDSDBNAME environment variable, falling back to "tiger" if not set.

source
GeoIDs.DB.get_db_paramsFunction
get_db_params() -> Dict{String, String}

Get database connection parameters from environment variables with fallbacks:

  • GEOIDSDBNAME: Database name (defaults to "tiger")
  • GEOIDSDBHOST: Database host (defaults to "localhost")
  • GEOIDSDBPORT: Database port (defaults to "5432")
  • GEOIDSDBUSER: Database user (defaults to current system user)
  • GEOIDSDBPASSWORD: Database password (defaults to empty string)
source

Query Execution

Functions for executing SQL queries and commands:

GeoIDs.DB.executeFunction
execute(conn::LibPQ.Connection, query::String, params::Vector=[]) -> LibPQ.Result

Execute a SQL query with parameters and return the result.

source
GeoIDs.DB.execute_queryFunction
execute_query(query::String, params::Vector=[]) -> DataFrame

Execute a query with parameters and return the result as a DataFrame.

source

Schema Management

Functions for setting up and managing the database schema:

Module Index