diff --git a/Chart.yaml b/Chart.yaml index b32d77e..6d1e882 100644 --- a/Chart.yaml +++ b/Chart.yaml @@ -1,4 +1,4 @@ apiVersion: v1 name: pgdog -version: v0.69 +version: v0.70 appVersion: "0.1.47" diff --git a/scripts/schema-overrides.yaml b/scripts/schema-overrides.yaml index 7ea20c9..6638e52 100644 --- a/scripts/schema-overrides.yaml +++ b/scripts/schema-overrides.yaml @@ -307,6 +307,22 @@ mirrors: level: type: string +# --- Query parser array --- +queryParsers: + type: array + description: Per-database query parser entries + items: + type: object + additionalProperties: false + required: ["database", "level"] + properties: + database: + type: string + level: + type: string + engine: + type: string + # --- Sharded schemas --- shardedSchemas: type: array diff --git a/templates/config.yaml b/templates/config.yaml index ac32247..e1d9579 100644 --- a/templates/config.yaml +++ b/templates/config.yaml @@ -353,6 +353,15 @@ data: {{- end }} {{- end }} + {{- range .Values.queryParsers }} + [[query_parsers]] + database = {{ .database | quote }} + level = {{ .level | quote }} + {{- if hasKey . "engine" }} + engine = {{ .engine | quote }} + {{- end }} + {{- end }} + {{- range .Values.shardedSchemas }} [[sharded_schemas]] database = {{ .database | quote }} diff --git a/test/values-pgdog-config-extras.yaml b/test/values-pgdog-config-extras.yaml index bfecd6c..5c9169c 100644 --- a/test/values-pgdog-config-extras.yaml +++ b/test/values-pgdog-config-extras.yaml @@ -2,7 +2,7 @@ # Covers: ban_replica_lag*, 2PC WAL persistence, resharding copy retries, # query_log, rewrite_shard_key_updates, unique_id_*, cutover_*, # tcp user_timeout/congestion_control, mirroring queue_length/level, -# database lb_weight/resharding_only, multi_tenant, otel. +# query_parsers table, database lb_weight/resharding_only, multi_tenant, otel. banReplicaLag: 60_000 banReplicaLagBytes: 10_000_000 @@ -62,3 +62,8 @@ mirrors: queueLength: 256 exposure: 0.5 level: dml + +queryParsers: + - database: primary + level: "off" + engine: pg_query_raw diff --git a/values.yaml b/values.yaml index c4741ca..8191d35 100644 --- a/values.yaml +++ b/values.yaml @@ -227,6 +227,15 @@ users: [] # mirrors contains a list of databases to replicate traffic from/to. mirrors: [] +# queryParsers contains per-database query parser settings in pgdog.toml. +# Each entry requires: database and level; engine is optional. +# Example: +# queryParsers: +# - database: "prod" +# level: "off" +# engine: "pg_query_raw" +queryParsers: [] + # shardedSchemas contains the list of sharded schema entries in pgdog.toml # Each entry requires: database and shard; name is optional # Example: