# sql

> For the complete documentation index, see [llms.txt](https://docs.redpanda.com/llms.txt). Component-specific: [connect-full.txt](https://docs.redpanda.com/connect-full.txt)

---
title: sql
latest-connect-version: 4.93.0
latest-operator-version: v26.1.4
latest-console-tag: v3.7.3
latest-redpanda-tag: v26.1.9
docname: processors/sql
page-component-name: connect
page-version: master
page-component-version: master
page-component-title: Connect
page-relative-src-path: processors/sql.adoc
page-edit-url: https://github.com/redpanda-data/rp-connect-docs/edit/main/modules/components/pages/processors/sql.adoc
page-git-created-date: "2024-05-24"
page-git-modified-date: "2026-05-26"
---

<!-- Source: https://docs.redpanda.com/connect/components/processors/sql.md -->

**Type:** Processor ▼

[Processor](https://docs.redpanda.com/connect/components/processors/sql/)[Cache](https://docs.redpanda.com/connect/components/caches/sql/)[Output](https://docs.redpanda.com/connect/components/outputs/sql/)

**Available in:** Self-Managed

> ⚠️ **WARNING: Deprecated**
>
> Deprecated
>
> This component is deprecated and will be removed in the next major version release. Please consider moving onto [alternative components](#alternatives).

Runs an arbitrary SQL query against a database and (optionally) returns the result as an array of objects, one for each row returned.

Introduced in version 3.65.0.

#### Common

```yml
processors:
  label: ""
  sql:
    driver: "" # No default (required)
    data_source_name: "" # No default (required)
    query: "" # No default (required)
    args_mapping: "" # No default (optional)
    result_codec: none
```

#### Advanced

```yml
processors:
  label: ""
  sql:
    driver: "" # No default (required)
    data_source_name: "" # No default (required)
    query: "" # No default (required)
    unsafe_dynamic_query: false
    args_mapping: "" # No default (optional)
    result_codec: none
```

If the query fails to execute then the message will remain unchanged and the error can be caught using [error handling methods](https://docs.redpanda.com/connect/configuration/error_handling/).

## [](#alternatives)Alternatives

For basic inserts or select queries use either the [`sql_insert`](https://docs.redpanda.com/connect/components/processors/sql_insert/) or the [`sql_select`](https://docs.redpanda.com/connect/components/processors/sql_select/) processor. For more complex queries use the [`sql_raw`](https://docs.redpanda.com/connect/components/processors/sql_raw/) processor.

## [](#fields)Fields

### [](#args_mapping)`args_mapping`

An optional [Bloblang mapping](https://docs.redpanda.com/connect/guides/bloblang/about/) which should evaluate to an array of values matching in size to the number of placeholder arguments in the field `query`.

**Type**: `string`

```yaml
# Examples:
args_mapping: root = [ this.cat.meow, this.doc.woofs[0] ]

# ---

args_mapping: root = [ meta("user.id") ]
```

### [](#data_source_name)`data_source_name`

Data source name.

**Type**: `string`

### [](#driver)`driver`

A database [driver](#drivers) to use.

**Type**: `string`

**Options**: `mysql`, `postgres`, `pgx`, `clickhouse`, `mssql`, `sqlite`, `oracle`, `snowflake`, `trino`, `gocosmos`, `spanner`, `databricks`

### [](#query)`query`

The query to execute. The style of placeholder to use depends on the driver, some drivers require question marks (`?`) whereas others expect incrementing dollar signs (`$1`, `$2`, and so on) or colons (`:1`, `:2` and so on). The style to use is outlined in this table:

| Driver | Placeholder Style |
| --- | --- |
| clickhouse | Dollar sign ($) |
| gocosmos | Colon (:) |
| mysql | Question mark (?) |
| mssql | Question mark (?) |
| oracle | Colon (:) |
| postgres | Dollar sign ($) |
| snowflake | Question mark (?) |
| spanner | Question mark (?) |
| sqlite | Question mark (?) |
| trino | Question mark (?) |

**Type**: `string`

```yaml
# Examples:
query: INSERT INTO footable (foo, bar, baz) VALUES (?, ?, ?);
```

### [](#result_codec)`result_codec`

Result codec.

**Type**: `string`

**Default**: `none`

### [](#unsafe_dynamic_query)`unsafe_dynamic_query`

Whether to enable [interpolation functions](https://docs.redpanda.com/connect/configuration/interpolation/#bloblang-queries) in the query. Great care should be made to ensure your queries are defended against injection attacks.

**Type**: `bool`

**Default**: `false`