Module Dialect.PostgreSQL_dialectSource

Sourceval name : string
Sourceval default_port : int option
Sourceval admin_database : string option

Admin database to connect to for CREATE/DROP DATABASE operations

  • PostgreSQL: Some "postgres"
  • MariaDB: Some "mysql"
  • SQLite: None (file-based, no admin DB)
Sourceval database_exists_sql : string

SQL to check if database exists Returns query string with one parameter placeholder

  • PostgreSQL: SELECT EXISTS(SELECT 1 FROM pg_database WHERE datname = $1)
  • MariaDB: SELECT SCHEMA_NAME FROM information_schema.SCHEMATA WHERE SCHEMA_NAME = ?
  • SQLite: "" (N/A - use file system check instead)
Sourceval create_database_sql : string -> string

Generate SQL to create database

  • parameter db_name

    Database name to create

  • returns

    SQL statement (not parameterized - database names can't be)

Sourceval drop_database_sql : string -> string

Generate SQL to drop database

  • parameter db_name

    Database name to drop

  • returns

    SQL statement (not parameterized - database names can't be)

Sourceval timestamp_to_string : string -> string

Convert timestamp column to string in SELECT

  • parameter column_name

    Name of timestamp column

  • returns

    SQL expression that casts to string

    • PostgreSQL: "created_at::text"
    • MariaDB: "CAST(created_at AS CHAR)"
    • SQLite: "created_at" (auto-converts)
Sourceval supports_database_lifecycle : bool

Whether this dialect supports CREATE/DROP DATABASE SQLite is file-based, so it uses file operations instead