> ## Documentation Index
> Fetch the complete documentation index at: https://deepline.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Clickhouse Postgres Service Patch State: Inputs, Cost &

> Update Postgres service state. Includes inputs, outputs, pricing notes, Deepline CLI examples, and GTM automation guidance.

## Run in Enrichment Spreadsheet

<Info>
  Use this function as a column step in `deepline enrich`.
</Info>

```bash theme={null}
deepline enrich --input leads.csv --output leads.enriched.csv --with 'result=clickhouse_postgres_service_patch_state:{"organizationId":"{{organizationId}}","postgresId":"{{postgresId}}"}' --json
```

<Tip>
  Map payload values to spreadsheet columns with `{{column_name}}` placeholders.
</Tip>

## Input Schema

| Name                     | Type                                     | Required | Default | Description                                            |
| ------------------------ | ---------------------------------------- | -------- | ------- | ------------------------------------------------------ |
| `payload.organizationId` | `string`                                 | Yes      |         | ID of the organization that owns the Postgres service. |
| `payload.postgresId`     | `string`                                 | Yes      |         | ID of the requested Postgres service.                  |
| `payload.command`        | `"restart" \| "promote" \| "switchover"` | No       |         | Postgres status, which initiates a process.            |

### Allowed values

| Field             | Allowed values                     |
| ----------------- | ---------------------------------- |
| `payload.command` | `restart`, `promote`, `switchover` |

<details>
  <summary>Show raw input schema</summary>

  ### Input JSON Schema

  ```json theme={null}
  {
    "type": "object",
    "description": "**This endpoint is in beta.** API contract is stable, and no breaking changes are expected in the future. Initiate a process for a Postgres service: * restart: Initiates a service restart * promote: Promotes a read replica to primary * switchover: Switch a primary over to a standby",
    "properties": {
      "organizationId": {
        "type": "string",
        "description": "ID of the organization that owns the Postgres service.",
        "format": "uuid"
      },
      "postgresId": {
        "type": "string",
        "description": "ID of the requested Postgres service.",
        "format": "uuid"
      },
      "command": {
        "type": "string",
        "description": "Postgres status, which initiates a process.",
        "enum": [
          "restart",
          "promote",
          "switchover"
        ]
      }
    },
    "required": [
      "organizationId",
      "postgresId"
    ],
    "additionalProperties": false
  }
  ```
</details>

## Output Schema

| Name          | Type     | Required | Default | Description                                    |
| ------------- | -------- | -------- | ------- | ---------------------------------------------- |
| `result.data` | `object` | Yes      |         | Provider response payload.                     |
| `result.meta` | `object` | No       |         | Additional response metadata (status, paging). |

<details>
  <summary>Show raw output schema</summary>

  ### Output JSON Schema

  ```json theme={null}
  {
    "type": "object",
    "description": "Standard tool result payload.",
    "properties": {
      "data": {
        "type": "object",
        "description": "Provider response payload.",
        "properties": {
          "status": {
            "type": "number",
            "description": "HTTP status code."
          },
          "requestId": {
            "type": "string",
            "description": "Unique id assigned to every request. UUIDv4",
            "format": "uuid"
          },
          "result": {
            "properties": {
              "name": {
                "type": "string",
                "description": "Name of the Postgres service. Alphanumerical string with whitespaces up to 50 characters.",
                "minLength": 1,
                "maxLength": 50
              },
              "provider": {
                "type": "string",
                "description": "The cloud provider for a Postgres service.",
                "enum": [
                  "aws"
                ]
              },
              "region": {
                "type": "string",
                "description": "The cloud region for a Postgres service."
              },
              "postgresVersion": {
                "type": "string",
                "enum": [
                  "18",
                  "17"
                ]
              },
              "size": {
                "type": "string",
                "description": "The VM size for a Postgres service.",
                "enum": [
                  "c6gd.large",
                  "c6gd.xlarge",
                  "c6gd.2xlarge",
                  "c6gd.4xlarge",
                  "c6gd.8xlarge",
                  "c6gd.16xlarge",
                  "i7i.large",
                  "i7i.xlarge",
                  "i7i.2xlarge",
                  "i7i.4xlarge",
                  "i7i.8xlarge",
                  "i7i.12xlarge",
                  "i7i.16xlarge",
                  "i7i.24xlarge",
                  "i7ie.large",
                  "i7ie.xlarge",
                  "i7ie.2xlarge",
                  "i7ie.3xlarge",
                  "i7ie.6xlarge",
                  "i7ie.12xlarge",
                  "i7ie.18xlarge",
                  "i7ie.24xlarge",
                  "i8g.large",
                  "i8g.xlarge",
                  "i8g.2xlarge",
                  "i8g.4xlarge",
                  "i8g.8xlarge",
                  "i8g.16xlarge",
                  "i8g.24xlarge",
                  "i8ge.large",
                  "i8ge.xlarge",
                  "i8ge.2xlarge",
                  "i8ge.3xlarge",
                  "i8ge.6xlarge",
                  "i8ge.12xlarge",
                  "i8ge.18xlarge",
                  "i8ge.24xlarge",
                  "m6gd.large",
                  "m6gd.xlarge",
                  "m6gd.2xlarge",
                  "m6gd.4xlarge",
                  "m6gd.8xlarge",
                  "m6gd.16xlarge",
                  "m6id.large",
                  "m6id.xlarge",
                  "m6id.2xlarge",
                  "m6id.4xlarge",
                  "m6id.8xlarge",
                  "m6id.16xlarge",
                  "m8gd.large",
                  "m8gd.xlarge",
                  "m8gd.2xlarge",
                  "m8gd.4xlarge",
                  "m8gd.8xlarge",
                  "m8gd.16xlarge",
                  "r6gd.medium",
                  "r6gd.large",
                  "r6gd.xlarge",
                  "r6gd.2xlarge",
                  "r6gd.4xlarge",
                  "r6gd.8xlarge",
                  "r6gd.12xlarge",
                  "r6gd.16xlarge",
                  "r6id.large",
                  "r6id.xlarge",
                  "r6id.2xlarge",
                  "r6id.4xlarge",
                  "r6id.8xlarge",
                  "r6id.12xlarge",
                  "r6id.16xlarge",
                  "r6id.24xlarge",
                  "r6id.32xlarge",
                  "r8gd.medium",
                  "r8gd.large",
                  "r8gd.xlarge",
                  "r8gd.2xlarge",
                  "r8gd.4xlarge",
                  "r8gd.8xlarge",
                  "r8gd.12xlarge",
                  "r8gd.16xlarge",
                  "r8gd.24xlarge",
                  "r8gd.48xlarge"
                ]
              },
              "haType": {
                "type": "string",
                "description": "Type of high availability: “none” for no replication, “async” for asynchronous replication to a single standby, and “sync” for synchronous replication to two standbys.",
                "enum": [
                  "none",
                  "async",
                  "sync"
                ]
              },
              "tags": {
                "type": "array",
                "description": "Tags associated with the Postgres service. Tag keys starting with “chc_” are reserved for internal use.",
                "maxItems": 50,
                "items": {
                  "type": "object",
                  "properties": {
                    "key": {
                      "type": "string",
                      "description": "Tag key. Must be alphanumeric with dashes, underscores and dots.",
                      "minLength": 1,
                      "maxLength": 128,
                      "pattern": "^[a-zA-Z0-9._-]+$"
                    },
                    "value": {
                      "type": "string",
                      "description": "Tag value. Must be alphanumeric with dashes, underscores and dots.",
                      "maxLength": 256,
                      "pattern": "^[a-zA-Z0-9._-]+$"
                    }
                  },
                  "required": [
                    "key"
                  ],
                  "additionalProperties": false
                }
              },
              "id": {
                "type": "string",
                "format": "uuid"
              },
              "storageSize": {
                "type": "integer",
                "description": "The storage size, in GiB, which must be supported by the specified `size`."
              },
              "state": {
                "type": "string",
                "description": "Current state of the service",
                "enum": [
                  "creating",
                  "restarting",
                  "running",
                  "replaying_wal",
                  "restoring_backup",
                  "finalizing_restore",
                  "unavailable",
                  "stopped",
                  "deleting"
                ]
              },
              "createdAt": {
                "type": "string",
                "format": "date-time"
              },
              "isPrimary": {
                "type": "boolean",
                "description": "True if this service is the primary service in the data warehouse",
                "default": false
              },
              "connectionString": {
                "type": "string",
                "description": "Connection string to the Postgres service. Embeds the service password, so it is only returned when the service is created or its password is reset. Omitted from every other response when Postgres credential redaction is enabled for the organization. Not guaranteed to be present — treat as optional."
              },
              "username": {
                "type": "string",
                "description": "Username for the Postgres service"
              },
              "password": {
                "type": "string",
                "description": "Password for the Postgres service. Only returned when the service is created or its password is reset. Omitted from every other response when Postgres credential redaction is enabled for the organization. Not guaranteed to be present — treat as optional."
              },
              "hostname": {
                "type": "string",
                "description": "Hostname for the Postgres service"
              }
            },
            "additionalProperties": false
          }
        },
        "additionalProperties": false
      },
      "meta": {
        "type": "object",
        "description": "Additional response metadata (status, paging).",
        "additionalProperties": true
      }
    },
    "required": [
      "data"
    ],
    "additionalProperties": false
  }
  ```
</details>

## Advanced: Direct CLI

<Info>
  Use direct execution for single payload debugging.
</Info>

```bash theme={null}
deepline tools execute clickhouse_postgres_service_patch_state --payload '{
  "organizationId": "string",
  "postgresId": "string"
}' --json
```

### CLI flags

| Flag                        | Description                                         |
| --------------------------- | --------------------------------------------------- |
| `--json`                    | Print machine-readable output.                      |
| `--wait`                    | Wait for terminal provider status when supported.   |
| `--debug`                   | Enable wait mode with additional status/log output. |
| `--wait-timeout SECONDS`    | Max seconds to wait in wait mode.                   |
| `--poll-interval SECONDS`   | Polling interval in seconds during wait mode.       |
| `--timeout SECONDS`         | Request timeout in seconds.                         |
| `--connect-timeout SECONDS` | Connection timeout in seconds.                      |

## Cost

* Pricing model: `fixed` (per call).
* Estimated Deepline credits: `0` per pricing unit.
* Provider-native pricing may still exist outside Deepline credit billing.
* Billing mode: `no_bill`.
