↑↓ 选择↵ 打开⌫ 切换范围完整搜索

PG.CENTER 连接 PostgreSQL 文档、百科与生态知识。由 Pigsty 维护。

Wiki / SQLSTATE

22P02 — 文本表示无效

文本无法解析为目标类型,如整数输入非法。

英文手册覆盖始于 PostgreSQL 8.1. 来源历史与运行验证各自保留独立版本边界。

当前阅读 PG 18·选择有来源记录的版本

aliases
未知
class name
Data Exception
condition name
invalid_text_representation
lang
en
sqlstate
22P02

版本定义 PG 18

22P02 — 文本表示无效

速览 {#at-a-glance}

22P02 表示文本输入例程无法把值解释为目标类型。本页选择普通整数输入路径,同时标出 COPY/文本边界;COPY、枚举、扩展和 contrib 调用可能使用不同主报文。

含义 {#meaning}

cast、赋值或文本 COPY 字段由目标类型的输入例程判断文本是否合法。PostgreSQL 18.6 使用 invalid input syntax for type integer: "%s",锁定的 PostgreSQL 10.23 源码使用 invalid input syntax for integer: "%s";两者都是动态模板,也不是统一的本地化字符串。其他固定调用者还包括 COPY reject-limit、枚举输入和扩展校验,因此 primary 文本和上下文可能不同。

诊断 {#diagnosis}

记录目标类型、客户端编码和参数绑定后的原始值,并确认操作是 cast、赋值、文本 COPY 字段、枚举输入还是其他类型包装。把坏文本(22P02)与数值越界(22003)、日期时间语法错误(22007)、二进制表示无效(22P03)以及 COPY 文件/头部或 framing 错误(22P04)区分开。二进制 COPY payload 不能只按文本输入报文诊断。

处理 {#response}

在输入边界校验并保持预期目标类型。只有修正值后才重试;除非业务规则明确要求,不要静默截断或把值变成 NULL。显式事务中的输入 ERROR 会使事务进入中止状态(25P02);继续前执行 ROLLBACK,或使用 ROLLBACK TO SAVEPOINT convert_input。COPY 出错后也必须先恢复事务,再执行下一条命令。

实测诊断 {#messages}

普通整数路径固定为 ERROR,并有上述版本差异的动态主报文。选定实测记录了精确值:"not-an-integer" 产生 22P02,同一自动提交会话随后把合法 "42" 转换为 42。

代表案例 {#case}

共享注册表在自动提交下先发送一次无效文本 cast,检查真实诊断和 IDLE 状态,再在同一连接发送合法整数文本。这个实测恢复不同于显式事务;后者必须先回滚或回滚到保存点。页面 SQL 与运行器来自同一注册表,没有隐藏的第二定义。

SELECT 'not-an-integer'::integer;
SELECT '42'::integer

选定的 PostgreSQL 18.6 与 10.21 运行均通过 SQLSTATE、严重级别、状态或断开恢复、修复、清理和一次性实例停止断言。详见 案例 JSON 与 作者证据。

版本 {#versions}

锁定目录从 7.4 起记录 22P02。18.6 与 10.21 的有界运行均通过,但主报文措辞如上有所不同;这不能推广到所有 22P02 调用方或所有中间版本。

相关 {#related}

来源 {#sources}

  • src.errcodes.18.6 — src/backend/utils/errcodes.txt at 724edf9bde9d356724ad384a2e196edc3c9f80f7; blob SHA-256 6e8de346643ba84aa3c9c6a73360acfc7b2dfb89162c06c08ce9bf5bcd5bbcba (source).
  • src.invalid-integer.18.6 — src/backend/utils/adt/numutils.c at 724edf9bde9d356724ad384a2e196edc3c9f80f7; blob SHA-256 9018d559d8a2b04f6d3fa8fedeb754fc5f1f8cd8594292e6adc5108e8f97f1bf (source).
  • src.invalid-integer.10.23 — src/backend/utils/adt/numutils.c at 02991e79f8f58bc208f05dcc8af0c62dbe0a6ea4; blob SHA-256 6cb3fd7e4b38a66c16f2cc4a3de0c52ce44e01dd22edd3dd9340d2a8faea0d35 (source).
  • src.copy-text.18.6 — 固定文本 COPY 转换/reject-limit 路径位于 src/backend/commands/copyfrom.c 第 1169-1172 行(来源)。
  • src.calls.REL_18_6 / src.calls.REL_10_23 — fixed call scans, SHA-256 9ee8a0e81d8f0825c5c1ae45583439859a26e602bdd4ce2f2a62aa278867ccbf / 00d16d3eb01b71ccf1b245c8f3102f9d0ec9f36fb02777b8dd1b99fcb263040c.
  • manifest.22P02 / snippet-registry.22P02 — hashes are recorded in evidence/22P02.json and each selected runtime record.

比较版本

SQLSTATE 证据与已记录的运行版本

cases · invalid_integer_text
{
  "assertions": [
    "SQLSTATE is 22P02 with ERROR severity",
    "The primary diagnostic identifies invalid integer input and the supplied text",
    "The failed autocommit session remains IDLE",
    "A valid integer text returns 42 afterward"
  ],
  "case_id": "invalid_integer_text",
  "cleanup": "Close all runner connections and drop the case schema with an owner connection.",
  "has_snippet": true,
  "position": 0,
  "preconditions": [
    "A runner-owned disposable target is provisioned."
  ],
  "repair": "Validate or reject input before casting; if the input is valid, cast it to the intended type and keep the business validation separate from syntax recovery.",
  "trigger": "Cast non-numeric text to integer, then cast a valid integer text on the same connection.",
  "versions": [
    "10",
    "18"
  ]
}
claims · identity
{
  "claim_id": "identity",
  "limits": "",
  "method": "Read fixed definition.",
  "position": 0,
  "runtime": [],
  "sources": [
    "src.errcodes.18.6"
  ],
  "statement": "22P02 is invalid_text_representation in SQLSTATE Class 22."
}
claims · resolved-paths
{
  "claim_id": "resolved-paths",
  "limits": "Source confirmation is not natural runtime.",
  "method": "Read complete fixed source contexts.",
  "position": 1,
  "runtime": [],
  "sources": [
    "src.path.0",
    "src.path.1",
    "src.path.2",
    "src.path.3"
  ],
  "statement": "The cited PostgreSQL 18.6 source paths support the representative mechanisms and message boundaries described."
}
claims · history
{
  "claim_id": "history",
  "limits": "",
  "method": "Use catalogue boundary.",
  "position": 2,
  "runtime": [],
  "sources": [
    "src.errcodes.18.6"
  ],
  "statement": "The locked catalogue records 22P02 from 7.4; that boundary does not prove exact implementation introduction."
}
claims · mechanism.integer-input
{
  "claim_id": "mechanism.integer-input",
  "limits": "This is one integer-input path; COPY, enum, extension, and contrib callers can use different 22P02 messages.",
  "method": "Read fixed numutils.c source-call records and compare selected runtime diagnostics.",
  "position": 3,
  "runtime": [],
  "sources": [
    "src.invalid-integer.18.6",
    "src.invalid-integer.10.23"
  ],
  "statement": "The selected ordinary cast path reports invalid integer text through the numeric input routine; PostgreSQL 18 and 10 use different fixed wording around the type name."
}
claims · runtime.representative-case
{
  "claim_id": "runtime.representative-case",
  "limits": "Scope is limited to the integer cast statements, psycopg, and the two selected versions.",
  "method": "Execute the shared registry and inspect SQLSTATE, severity, IDLE state, repair, cleanup, and target stop.",
  "position": 4,
  "runtime": [
    "runtime.ops-22p02-latest-1.latest",
    "runtime.ops-22p02-pg10-1.pg10"
  ],
  "sources": [
    "manifest.22P02",
    "snippet-registry.22P02"
  ],
  "statement": "The invalid_integer_text case passed on isolated PostgreSQL 18.6 and 10.21 targets, with IDLE recovery and a same-session valid value of 42."
}
messages · message.0
{
  "limits": "",
  "message_id": "message.0",
  "path": "",
  "position": 0,
  "raw": {
    "id": "message.0",
    "primary_template": "skipped more than REJECT_LIMIT (%\" PRId64 \") rows due to data type incompatibility",
    "severity_source": "ERROR",
    "sources": [
      "src.path.0",
      "src.path.1"
    ],
    "sqlstate": "22P02"
  },
  "severity": "ERROR",
  "sources": [
    "src.path.0",
    "src.path.1"
  ],
  "templates": [
    {
      "kind": "primary",
      "literal": "skipped more than REJECT_LIMIT (%\" PRId64 \") rows due to data type incompatibility",
      "position": 0,
      "role": "",
      "template": "skipped more than REJECT_LIMIT (%\" PRId64 \") rows due to data type incompatibility"
    }
  ]
}
messages · message.1
{
  "limits": "",
  "message_id": "message.1",
  "path": "",
  "position": 1,
  "raw": {
    "id": "message.1",
    "primary_template": "cannot cast EAN13(%s) to %s for number: \"%s\"",
    "severity_source": "ERROR",
    "sources": [
      "src.path.2"
    ],
    "sqlstate": "22P02"
  },
  "severity": "ERROR",
  "sources": [
    "src.path.2"
  ],
  "templates": [
    {
      "kind": "primary",
      "literal": "cannot cast EAN13( ) to for number: \" \"",
      "position": 0,
      "role": "",
      "template": "cannot cast EAN13(%s) to %s for number: \"%s\""
    }
  ]
}
messages · message.2
{
  "limits": "",
  "message_id": "message.2",
  "path": "",
  "position": 2,
  "raw": {
    "id": "message.2",
    "primary_template": "invalid character in extension owner: must not contain any of \"%s\"",
    "severity_source": "ERROR",
    "sources": [
      "src.path.3"
    ],
    "sqlstate": "22P02"
  },
  "severity": "ERROR",
  "sources": [
    "src.path.3"
  ],
  "templates": [
    {
      "kind": "primary",
      "literal": "invalid character in extension owner: must not contain any of \" \"",
      "position": 0,
      "role": "",
      "template": "invalid character in extension owner: must not contain any of \"%s\""
    }
  ]
}
messages · message.integer-input.18.6
{
  "limits": "",
  "message_id": "message.integer-input.18.6",
  "path": "",
  "position": 3,
  "raw": {
    "id": "message.integer-input.18.6",
    "primary_template": "invalid input syntax for type integer: \"%s\"",
    "severity_source": "ERROR",
    "sources": [
      "src.invalid-integer.18.6"
    ],
    "sqlstate": "22P02"
  },
  "severity": "ERROR",
  "sources": [
    "src.invalid-integer.18.6"
  ],
  "templates": [
    {
      "kind": "primary",
      "literal": "invalid input syntax for type integer: \" \"",
      "position": 0,
      "role": "",
      "template": "invalid input syntax for type integer: \"%s\""
    }
  ]
}
messages · message.integer-input.10.23
{
  "limits": "",
  "message_id": "message.integer-input.10.23",
  "path": "",
  "position": 4,
  "raw": {
    "id": "message.integer-input.10.23",
    "primary_template": "invalid input syntax for integer: \"%s\"",
    "severity_source": "ERROR",
    "sources": [
      "src.invalid-integer.10.23"
    ],
    "sqlstate": "22P02"
  },
  "severity": "ERROR",
  "sources": [
    "src.invalid-integer.10.23"
  ],
  "templates": [
    {
      "kind": "primary",
      "literal": "invalid input syntax for integer: \" \"",
      "position": 0,
      "role": "",
      "template": "invalid input syntax for integer: \"%s\""
    }
  ]
}
runtimes · runtime.ops-22p02-latest-1.latest · 18.6 (Homebrew) · passed
{
  "cases": [
    "invalid_integer_text"
  ],
  "limits": "",
  "position": 0,
  "raw": {
    "assertions": [
      {
        "expected": "22P02",
        "name": "22P02 SQLSTATE",
        "observed": "22P02",
        "passed": true
      },
      {
        "expected": "ERROR",
        "name": "22P02 ERROR severity",
        "observed": "ERROR",
        "passed": true
      },
      {
        "expected": "invalid input syntax ... integer ... not-an-integer",
        "name": "integer input diagnostic names the invalid text",
        "observed": "invalid input syntax for type integer: \"not-an-integer\"",
        "passed": true
      },
      {
        "expected": "IDLE",
        "name": "invalid text leaves autocommit session usable",
        "observed": "IDLE",
        "passed": true
      },
      {
        "expected": {
          "status": "IDLE",
          "value": 42
        },
        "name": "valid integer text repairs conversion",
        "observed": {
          "status": "IDLE",
          "value": 42
        },
        "passed": true
      }
    ],
    "case_manifest": {
      "id": "manifest.22P02",
      "kind": "local_artifact",
      "path": "verify/cases/22P02/cases.json",
      "sha256": "00983166353d1b7677634984b78a5ad06ba1b7a3db5011d308573d071138e7d6",
      "source_role": "case_manifest"
    },
    "cases": [
      "invalid_integer_text"
    ],
    "cleanup": {
      "errors": [],
      "passed": true
    },
    "environment": {
      "TimeZone": "Asia/Shanghai",
      "backend_pid": 43518,
      "binary": {
        "bindir": "/opt/homebrew/Cellar/postgresql@18/18.6/bin",
        "pg_config": "/opt/homebrew/bin/pg_config",
        "pg_config_version": "PostgreSQL 18.6 (Homebrew)",
        "postgres": "/opt/homebrew/Cellar/postgresql@18/18.6/bin/postgres"
      },
      "connection_scope": "runner-owned localhost port",
      "current_user": "runner",
      "docker": {},
      "lc_messages": "C",
      "libpq_version": "18.6",
      "locale": "C.UTF-8",
      "log_destination": "csvlog,jsonlog",
      "log_error_verbosity": "verbose",
      "log_min_error_statement": "error",
      "log_min_messages": "error",
      "logging_collector": "on",
      "machine": "arm64",
      "max_connections": "100",
      "platform": "macOS-26.6.2-arm64-arm-64bit-Mach-O",
      "psycopg_version": "3.3.5",
      "python_version": "3.14.6 (main, Jun 10 2026, 10:03:53) [Clang 21.0.0 (clang-2100.0.123.102)]",
      "server_encoding": "UTF8",
      "server_version": "18.6 (Homebrew)",
      "server_version_num": "180006",
      "target_kind": "latest",
      "wal_level": "logical"
    },
    "id": "runtime.ops-22p02-latest-1.latest",
    "observed": {
      "connection_autocommit": true,
      "diagnostic": {
        "column_name": null,
        "constraint_name": null,
        "context": null,
        "datatype_name": null,
        "exception_type": "InvalidTextRepresentation",
        "internal_position": null,
        "internal_query": null,
        "message_detail": null,
        "message_hint": null,
        "message_primary": "invalid input syntax for type integer: \"not-an-integer\"",
        "schema_name": null,
        "severity": "ERROR",
        "severity_nonlocalized": "ERROR",
        "source_file": "numutils.c",
        "source_function": "pg_strtoint32_safe",
        "source_line": "618",
        "sqlstate": "22P02",
        "statement_position": "8",
        "table_name": null,
        "text": "invalid input syntax for type integer: \"not-an-integer\"\nLINE 1: SELECT 'not-an-integer'::integer\n               ^"
      },
      "failed_status": "IDLE",
      "invalid_text": "not-an-integer",
      "repair_status": "IDLE",
      "repair_value": 42,
      "target_type": "integer"
    },
    "raw": "verify/results/ops-22p02-latest-1/latest/raw.jsonl",
    "raw_sha256": "5e618501c098a3f91b1949d0d800cfe85ffa5c674cc5ca276b4307aacac71d47",
    "run_id": "ops-22p02-latest-1",
    "server_version": "18.6 (Homebrew)",
    "server_version_num": 180006,
    "snippet_registry": {
      "id": "snippet-registry.22P02",
      "kind": "local_artifact",
      "path": "verify/cases/22P02/snippets.json",
      "sha256": "887c8b0911b9b03f70d657e8dc3a6d3c07e323fd33f1b91259be44c2c9dc27c0",
      "source_role": "snippet_registry"
    },
    "status": "passed",
    "summary": "verify/results/ops-22p02-latest-1/latest/summary.json",
    "summary_sha256": "87063ee0a6214c4680c1c769e43dc8470c2bfff2aa3822564275b123322fea0b",
    "target": "latest",
    "target_stop": {
      "argv": [
        "/opt/homebrew/Cellar/postgresql@18/18.6/bin/pg_ctl",
        "-D",
        "/Users/vonng/pgcenter/err-code/.cache/runtime/ops-22p02-latest-1/latest/data",
        "-m",
        "fast",
        "-w",
        "stop"
      ],
      "elapsed_seconds": 0.115,
      "returncode": 0,
      "stderr": "",
      "stdout": "waiting for server to shut down.... done\nserver stopped\n"
    }
  },
  "run_id": "ops-22p02-latest-1",
  "runtime_id": "runtime.ops-22p02-latest-1.latest",
  "server_version": "18.6 (Homebrew)",
  "status": "passed",
  "target": "latest"
}
runtimes · runtime.ops-22p02-pg10-1.pg10 · 10.21 (Debian 10.21-1.pgdg90+1) · passed
{
  "cases": [
    "invalid_integer_text"
  ],
  "limits": "",
  "position": 1,
  "raw": {
    "assertions": [
      {
        "expected": "22P02",
        "name": "22P02 SQLSTATE",
        "observed": "22P02",
        "passed": true
      },
      {
        "expected": "ERROR",
        "name": "22P02 ERROR severity",
        "observed": "ERROR",
        "passed": true
      },
      {
        "expected": "invalid input syntax ... integer ... not-an-integer",
        "name": "integer input diagnostic names the invalid text",
        "observed": "invalid input syntax for integer: \"not-an-integer\"",
        "passed": true
      },
      {
        "expected": "IDLE",
        "name": "invalid text leaves autocommit session usable",
        "observed": "IDLE",
        "passed": true
      },
      {
        "expected": {
          "status": "IDLE",
          "value": 42
        },
        "name": "valid integer text repairs conversion",
        "observed": {
          "status": "IDLE",
          "value": 42
        },
        "passed": true
      }
    ],
    "case_manifest": {
      "id": "manifest.22P02",
      "kind": "local_artifact",
      "path": "verify/cases/22P02/cases.json",
      "sha256": "00983166353d1b7677634984b78a5ad06ba1b7a3db5011d308573d071138e7d6",
      "source_role": "case_manifest"
    },
    "cases": [
      "invalid_integer_text"
    ],
    "cleanup": {
      "errors": [],
      "passed": true
    },
    "environment": {
      "TimeZone": "Etc/UTC",
      "backend_pid": 79,
      "binary": {},
      "connection_scope": "runner-owned localhost port",
      "current_user": "postgres",
      "docker": {
        "architecture": "arm64",
        "command": "/usr/local/bin/docker",
        "digest": "sha256:b2baf8998630663d21370da06387c950e587071bdd307ee34e661cdcc7442bcc",
        "id": "sha256:b2baf8998630663d21370da06387c950e587071bdd307ee34e661cdcc7442bcc",
        "image": "postgres:10",
        "image_created": "2022-06-23T09:11:18.374607054Z",
        "image_ref": "postgres@sha256:b2baf8998630663d21370da06387c950e587071bdd307ee34e661cdcc7442bcc",
        "log_destination": "csvlog",
        "os": "linux",
        "repo_digests": [
          "postgres@sha256:b2baf8998630663d21370da06387c950e587071bdd307ee34e661cdcc7442bcc"
        ]
      },
      "lc_messages": "en_US.utf8",
      "libpq_version": "18.6",
      "locale": "C.UTF-8",
      "log_destination": "csvlog",
      "log_error_verbosity": "verbose",
      "log_min_error_statement": "error",
      "log_min_messages": "error",
      "logging_collector": "on",
      "machine": "arm64",
      "max_connections": "100",
      "platform": "macOS-26.6.2-arm64-arm-64bit-Mach-O",
      "psycopg_version": "3.3.5",
      "python_version": "3.14.6 (main, Jun 10 2026, 10:03:53) [Clang 21.0.0 (clang-2100.0.123.102)]",
      "server_encoding": "UTF8",
      "server_version": "10.21 (Debian 10.21-1.pgdg90+1)",
      "server_version_num": "100021",
      "target_kind": "pg10",
      "wal_level": "logical"
    },
    "id": "runtime.ops-22p02-pg10-1.pg10",
    "observed": {
      "connection_autocommit": true,
      "diagnostic": {
        "column_name": null,
        "constraint_name": null,
        "context": null,
        "datatype_name": null,
        "exception_type": "InvalidTextRepresentation",
        "internal_position": null,
        "internal_query": null,
        "message_detail": null,
        "message_hint": null,
        "message_primary": "invalid input syntax for integer: \"not-an-integer\"",
        "schema_name": null,
        "severity": "ERROR",
        "severity_nonlocalized": "ERROR",
        "source_file": "numutils.c",
        "source_function": "pg_atoi",
        "source_line": "62",
        "sqlstate": "22P02",
        "statement_position": "8",
        "table_name": null,
        "text": "invalid input syntax for integer: \"not-an-integer\"\nLINE 1: SELECT 'not-an-integer'::integer\n               ^"
      },
      "failed_status": "IDLE",
      "invalid_text": "not-an-integer",
      "repair_status": "IDLE",
      "repair_value": 42,
      "target_type": "integer"
    },
    "raw": "verify/results/ops-22p02-pg10-1/pg10/raw.jsonl",
    "raw_sha256": "b7bbdabc455657dbbb2d12ba411c0e72fbaed32ed7e8aaa3f724fa9ba45c36ea",
    "run_id": "ops-22p02-pg10-1",
    "server_version": "10.21 (Debian 10.21-1.pgdg90+1)",
    "server_version_num": 100021,
    "snippet_registry": {
      "id": "snippet-registry.22P02",
      "kind": "local_artifact",
      "path": "verify/cases/22P02/snippets.json",
      "sha256": "887c8b0911b9b03f70d657e8dc3a6d3c07e323fd33f1b91259be44c2c9dc27c0",
      "source_role": "snippet_registry"
    },
    "status": "passed",
    "summary": "verify/results/ops-22p02-pg10-1/pg10/summary.json",
    "summary_sha256": "064999d95d45e80ef01dc634dbb7db052c63c8bde10e0b589143b609f0e7dbf6",
    "target": "pg10",
    "target_stop": {
      "cleanup": {
        "argv": [
          "/usr/local/bin/docker",
          "rm",
          "-f",
          "-v",
          "sqlstate22p02_ops22p02pg101_pg10"
        ],
        "elapsed_seconds": 0.307,
        "returncode": 0,
        "stderr": "",
        "stdout": "sqlstate22p02_ops22p02pg101_pg10\n"
      },
      "inspect": {
        "argv": [
          "/usr/local/bin/docker",
          "inspect",
          "sqlstate22p02_ops22p02pg101_pg10"
        ],
        "elapsed_seconds": 0.018,
        "returncode": 0,
        "stderr": "",
        "stdout": "[\n    {\n        \"Id\": \"55ddbd871c1c269851c1e141841ab9970b7ef3c594e260aaccc38183acc5c810\",\n        \"Created\": \"2026-09-09T17:10:41.956604554Z\",\n        \"Path\": \"docker-entrypoint.sh\",\n        \"Args\": [\n            \"postgres\",\n            \"-c\",\n            \"listen_addresses=*\",\n            \"-c\",\n            \"log_destination=csvlog\",\n            \"-c\",\n            \"logging_collector=on\",\n            \"-c\",\n            \"log_directory=log\",\n            \"-c\",\n            \"log_filename=postgresql-%Y%m%d%H%M%S.log\",\n            \"-c\",\n            \"log_min_messages=error\",\n            \"-c\",\n            \"log_min_error_statement=error\",\n            \"-c\",\n            \"log_error_verbosity=verbose\",\n            \"-c\",\n            \"wal_level=logical\",\n            \"-c\",\n            \"max_wal_senders=10\",\n            \"-c\",\n            \"max_replication_slots=10\"\n        ],\n        \"State\": {\n            \"Status\": \"running\",\n            \"Running\": true,\n            \"Paused\": false,\n            \"Restarting\": false,\n            \"OOMKilled\": false,\n            \"Dead\": false,\n            \"Pid\": 64207,\n            \"ExitCode\": 0,\n            \"Error\": \"\",\n            \"StartedAt\": \"2026-09-09T17:10:42.085508346Z\",\n            \"FinishedAt\": \"0001-01-01T00:00:00Z\"\n        },\n        \"Image\": \"sha256:b2baf8998630663d21370da06387c950e587071bdd307ee34e661cdcc7442bcc\",\n        \"ResolvConfPath\": \"/var/lib/docker/containers/55ddbd871c1c269851c1e141841ab9970b7ef3c594e260aaccc38183acc5c810/resolv.conf\",\n        \"HostnamePath\": \"/var/lib/docker/containers/55ddbd871c1c269851c1e141841ab9970b7ef3c594e260aaccc38183acc5c810/hostname\",\n        \"HostsPath\": \"/var/lib/docker/containers/55ddbd871c1c269851c1e141841ab9970b7ef3c594e260aaccc38183acc5c810/hosts\",\n        \"LogPath\": \"/var/lib/docker/containers/55ddbd871c1c269851c1e141841ab9970b7ef3c594e260aaccc38183acc5c810/55ddbd871c1c269851c1e141841ab9970b7ef3c594e260aaccc38183acc5c810-json.log\",\n        \"Name\": \"/sqlstate22p02_ops22p02pg101_pg10\",\n        \"RestartCount\": 0,\n        \"Driver\": \"overlayfs\",\n        \"Platform\": \"linux\",\n        \"MountLabel\": \"\",\n        \"ProcessLabel\": \"\",\n        \"AppArmorProfile\": \"\",\n        \"ExecIDs\": null,\n        \"HostConfig\": {\n            \"Binds\": null,\n            \"ContainerIDFile\": \"\",\n            \"LogConfig\": {\n                \"Type\": \"json-file\",\n                \"Config\": {}\n            },\n            \"NetworkMode\": \"bridge\",\n            \"PortBindings\": {\n                \"5432/tcp\": [\n                    {\n                        \"HostIp\": \"127.0.0.1\",\n                        \"HostPort\": \"\"\n                    }\n                ]\n            },\n            \"RestartPolicy\": {\n                \"Name\": \"no\",\n                \"MaximumRetryCount\": 0\n            },\n            \"AutoRemove\": false,\n            \"VolumeDriver\": \"\",\n            \"VolumesFrom\": null,\n            \"ConsoleSize\": [\n                0,\n                0\n            ],\n            \"CapAdd\": null,\n            \"CapDrop\": null,\n            \"CgroupnsMode\": \"private\",\n            \"Dns\": null,\n            \"DnsOptions\": [],\n            \"DnsSearch\": [],\n            \"ExtraHosts\": null,\n            \"GroupAdd\": null,\n            \"IpcMode\": \"private\",\n            \"Cgroup\": \"\",\n            \"Links\": null,\n            \"OomScoreAdj\": 0,\n            \"PidMode\": \"\",\n            \"Privileged\": false,\n            \"PublishAllPorts\": false,\n            \"ReadonlyRootfs\": false,\n            \"SecurityOpt\": null,\n            \"UTSMode\": \"\",\n            \"UsernsMode\": \"\",\n            \"ShmSize\": 67108864,\n            \"Runtime\": \"runc\",\n            \"Isolation\": \"\",\n            \"CpuShares\": 0,\n            \"Memory\": 0,\n            \"NanoCpus\": 0,\n            \"CgroupParent\": \"\",\n            \"BlkioWeight\": 0,\n            \"BlkioWeightDevice\": [],\n            \"BlkioDeviceReadBps\": [],\n            \"BlkioDeviceWriteBps\": [],\n            \"BlkioDeviceReadIOps\": [],\n            \"BlkioDeviceWriteIOps\": [],\n            \"CpuPeriod\": 0,\n            \"CpuQuota\": 0,\n            \"CpuRealtimePeriod\": 0,\n            \"CpuRealtimeRuntime\": 0,\n            \"CpusetCpus\": \"\",\n            \"CpusetMems\": \"\",\n            \"Devices\": [],\n            \"DeviceCgroupRules\": null,\n            \"DeviceRequests\": null,\n            \"MemoryReservation\": 0,\n            \"MemorySwap\": 0,\n            \"MemorySwappiness\": null,\n            \"OomKillDisable\": null,\n            \"PidsLimit\": null,\n            \"Ulimits\": [],\n            \"CpuCount\": 0,\n            \"CpuPercent\": 0,\n            \"IOMaximumIOps\": 0,\n            \"IOMaximumBandwidth\": 0,\n            \"MaskedPaths\": [\n                \"/proc/acpi\",\n                \"/proc/asound\",\n                \"/proc/interrupts\",\n                \"/proc/kcore\",\n                \"/proc/keys\",\n                \"/proc/latency_stats\",\n                \"/proc/sched_debug\",\n                \"/proc/scsi\",\n                \"/proc/timer_list\",\n                \"/proc/timer_stats\",\n                \"/sys/devices/virtual/powercap\",\n                \"/sys/firmware\"\n            ],\n            \"ReadonlyPaths\": [\n                \"/proc/bus\",\n                \"/proc/fs\",\n                \"/proc/irq\",\n                \"/proc/sys\",\n                \"/proc/sysrq-trigger\"\n            ]\n        },\n        \"Storage\": {\n            \"RootFS\": {\n                \"Snapshot\": {\n                    \"Name\": \"overlayfs\"\n                }\n            }\n        },\n        \"Mounts\": [\n            {\n                \"Type\": \"volume\",\n                \"Name\": \"3a2fd8c1cb1a3e4433f770e288dadd45389d1fec1bee3f79fb9d1f9d8b99211c\",\n                \"Source\": \"/var/lib/docker/volumes/3a2fd8c1cb1a3e4433f770e288dadd45389d1fec1bee3f79fb9d1f9d8b99211c/_data\",\n                \"Destination\": \"/var/lib/postgresql/data\",\n                \"Driver\": \"local\",\n                \"Mode\": \"\",\n                \"RW\": true,\n                \"Propagation\": \"\"\n            }\n        ],\n        \"Config\": {\n            \"Hostname\": \"55ddbd871c1c\",\n            \"Domainname\": \"\",\n            \"User\": \"\",\n            \"AttachStdin\": false,\n            \"AttachStdout\": false,\n            \"AttachStderr\": false,\n            \"ExposedPorts\": {\n                \"5432/tcp\": {}\n            },\n            \"Tty\": false,\n            \"OpenStdin\": false,\n            \"StdinOnce\": false,\n            \"Env\": [\n                \"POSTGRES_HOST_AUTH_METHOD=trust\",\n                \"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/lib/postgresql/10/bin\",\n                \"GOSU_VERSION=1.14\",\n                \"LANG=en_US.utf8\",\n                \"PG_MAJOR=10\",\n                \"PG_VERSION=10.21-1.pgdg90+1\",\n                \"PGDATA=/var/lib/postgresql/data\"\n            ],\n            \"Cmd\": [\n                \"postgres\",\n                \"-c\",\n                \"listen_addresses=*\",\n                \"-c\",\n                \"log_destination=csvlog\",\n                \"-c\",\n                \"logging_collector=on\",\n                \"-c\",\n                \"log_directory=log\",\n                \"-c\",\n                \"log_filename=postgresql-%Y%m%d%H%M%S.log\",\n                \"-c\",\n                \"log_min_messages=error\",\n                \"-c\",\n                \"log_min_error_statement=error\",\n                \"-c\",\n                \"log_error_verbosity=verbose\",\n                \"-c\",\n                \"wal_level=logical\",\n                \"-c\",\n                \"max_wal_senders=10\",\n                \"-c\",\n                \"max_replication_slots=10\"\n            ],\n            \"Image\": \"postgres@sha256:b2baf8998630663d21370da06387c950e587071bdd307ee34e661cdcc7442bcc\",\n            \"Volumes\": {\n                \"/var/lib/postgresql/data\": {}\n            },\n            \"WorkingDir\": \"\",\n            \"Entrypoint\": [\n                \"docker-entrypoint.sh\"\n            ],\n            \"Labels\": {},\n            \"StopSignal\": \"SIGINT\",\n            \"StopTimeout\": 1\n        },\n        \"NetworkSettings\": {\n            \"SandboxID\": \"9f931ecde5ff7c0921e8adc95e0d2e95fc43edf09dc22f9333741e2bcb6d15c1\",\n            \"SandboxKey\": \"/var/run/docker/netns/9f931ecde5ff\",\n            \"Ports\": {\n                \"5432/tcp\": [\n                    {\n                        \"HostIp\": \"127.0.0.1\",\n                        \"HostPort\": \"57896\"\n                    }\n                ]\n            },\n            \"Networks\": {\n                \"bridge\": {\n                    \"IPAMConfig\": null,\n                    \"Links\": null,\n                    \"Aliases\": null,\n                    \"DriverOpts\": null,\n                    \"GwPriority\": 0,\n                    \"NetworkID\": \"aed51554f8cd8bac69ecd4f073e41e147fda7b458e9d95be2af472651f2e825c\",\n                    \"EndpointID\": \"ac7391609ed2394e797f1e534fbd75c5ef8329ea704411726a176a1e61da8af6\",\n                    \"Gateway\": \"172.17.0.1\",\n                    \"IPAddress\": \"172.17.0.53\",\n                    \"MacAddress\": \"fe:07:da:36:73:e2\",\n                    \"IPPrefixLen\": 16,\n                    \"IPv6Gateway\": \"\",\n                    \"GlobalIPv6Address\": \"\",\n                    \"GlobalIPv6PrefixLen\": 0,\n                    \"DNSNames\": null\n                }\n            }\n        },\n        \"ImageManifestDescriptor\": {\n            \"mediaType\": \"application/vnd.docker.distribution.manifest.v2+json\",\n            \"digest\": \"sha256:52aada7978f1eef3b6b52a51afb7a3defd69254d00c946cb90d2ceb32b8ffce7\",\n            \"size\": 3246,\n            \"platform\": {\n                \"architecture\": \"arm64\",\n                \"os\": \"linux\",\n                \"variant\": \"v8\"\n            }\n        }\n    }\n]\n"
      }
    }
  },
  "run_id": "ops-22p02-pg10-1",
  "runtime_id": "runtime.ops-22p02-pg10-1.pg10",
  "server_version": "10.21 (Debian 10.21-1.pgdg90+1)",
  "status": "passed",
  "target": "pg10"
}
sources · src.errcodes.18.6
{
  "commit": "724edf9bde9d356724ad384a2e196edc3c9f80f7",
  "docs_url": "",
  "kind": "upstream_source",
  "location": "",
  "path": "src/backend/utils/errcodes.txt",
  "position": 0,
  "sha256": "6e8de346643ba84aa3c9c6a73360acfc7b2dfb89162c06c08ce9bf5bcd5bbcba",
  "source_id": "src.errcodes.18.6",
  "tag": "REL_18_6",
  "url": "https://github.com/postgres/postgres/blob/724edf9bde9d356724ad384a2e196edc3c9f80f7/src/backend/utils/errcodes.txt#L206"
}
sources · src.path.0
{
  "commit": "724edf9bde9d356724ad384a2e196edc3c9f80f7",
  "docs_url": "",
  "kind": "upstream_source",
  "location": "",
  "path": "src/backend/commands/copyfrom.c",
  "position": 1,
  "sha256": "2eacfb8e896414428a8d124921fdc38629afe55c391c0fc16bce99b2db8bd86f",
  "source_id": "src.path.0",
  "tag": "REL_18_6",
  "url": "https://github.com/postgres/postgres/blob/724edf9bde9d356724ad384a2e196edc3c9f80f7/src/backend/commands/copyfrom.c#L1169"
}
sources · src.path.1
{
  "commit": "724edf9bde9d356724ad384a2e196edc3c9f80f7",
  "docs_url": "",
  "kind": "upstream_source",
  "location": "",
  "path": "contrib/file_fdw/file_fdw.c",
  "position": 2,
  "sha256": "d79ec21c08be6a806b0710aab09698678ddb24103d3470702e66ee1523432125",
  "source_id": "src.path.1",
  "tag": "REL_18_6",
  "url": "https://github.com/postgres/postgres/blob/724edf9bde9d356724ad384a2e196edc3c9f80f7/contrib/file_fdw/file_fdw.c#L799"
}
sources · src.path.2
{
  "commit": "724edf9bde9d356724ad384a2e196edc3c9f80f7",
  "docs_url": "",
  "kind": "upstream_source",
  "location": "",
  "path": "contrib/isn/isn.c",
  "position": 3,
  "sha256": "5dcd8ac520146b708998b4d4d9284abc1759136ca9d2d6b6cc029096fb001c4d",
  "source_id": "src.path.2",
  "tag": "REL_18_6",
  "url": "https://github.com/postgres/postgres/blob/724edf9bde9d356724ad384a2e196edc3c9f80f7/contrib/isn/isn.c#L409"
}
sources · src.path.3
{
  "commit": "724edf9bde9d356724ad384a2e196edc3c9f80f7",
  "docs_url": "",
  "kind": "upstream_source",
  "location": "",
  "path": "src/backend/commands/extension.c",
  "position": 4,
  "sha256": "e31879ca59521eea978a04160050aed07185dc682e005a307a8d6f6aa53416fc",
  "source_id": "src.path.3",
  "tag": "REL_18_6",
  "url": "https://github.com/postgres/postgres/blob/724edf9bde9d356724ad384a2e196edc3c9f80f7/src/backend/commands/extension.c#L1366"
}
sources · src.invalid-integer.18.6
{
  "commit": "724edf9bde9d356724ad384a2e196edc3c9f80f7",
  "docs_url": "",
  "kind": "upstream_source",
  "location": "",
  "path": "src/backend/utils/adt/numutils.c",
  "position": 5,
  "sha256": "9018d559d8a2b04f6d3fa8fedeb754fc5f1f8cd8594292e6adc5108e8f97f1bf",
  "source_id": "src.invalid-integer.18.6",
  "tag": "REL_18_6",
  "url": "https://github.com/postgres/postgres/blob/724edf9bde9d356724ad384a2e196edc3c9f80f7/src/backend/utils/adt/numutils.c#L614-L618"
}
sources · src.invalid-integer.10.23
{
  "commit": "02991e79f8f58bc208f05dcc8af0c62dbe0a6ea4",
  "docs_url": "",
  "kind": "upstream_source",
  "location": "",
  "path": "src/backend/utils/adt/numutils.c",
  "position": 6,
  "sha256": "6cb3fd7e4b38a66c16f2cc4a3de0c52ce44e01dd22edd3dd9340d2a8faea0d35",
  "source_id": "src.invalid-integer.10.23",
  "tag": "REL_10_23",
  "url": "https://github.com/postgres/postgres/blob/02991e79f8f58bc208f05dcc8af0c62dbe0a6ea4/src/backend/utils/adt/numutils.c#L59-L62"
}
sources · manifest.22P02
{
  "commit": "",
  "docs_url": "",
  "kind": "local_artifact",
  "location": "",
  "path": "verify/cases/22P02/cases.json",
  "position": 7,
  "sha256": "00983166353d1b7677634984b78a5ad06ba1b7a3db5011d308573d071138e7d6",
  "source_id": "manifest.22P02",
  "tag": "",
  "url": ""
}
sources · snippet-registry.22P02
{
  "commit": "",
  "docs_url": "",
  "kind": "local_artifact",
  "location": "",
  "path": "verify/cases/22P02/snippets.json",
  "position": 8,
  "sha256": "887c8b0911b9b03f70d657e8dc3a6d3c07e323fd33f1b91259be44c2c9dc27c0",
  "source_id": "snippet-registry.22P02",
  "tag": "",
  "url": ""
}
sources · src.calls.REL_18_6
{
  "commit": "",
  "docs_url": "",
  "kind": "local_artifact",
  "location": "",
  "path": "raw/calls/REL_18_6.jsonl",
  "position": 9,
  "sha256": "9ee8a0e81d8f0825c5c1ae45583439859a26e602bdd4ce2f2a62aa278867ccbf",
  "source_id": "src.calls.REL_18_6",
  "tag": "REL_18_6",
  "url": ""
}
sources · src.calls.REL_10_23
{
  "commit": "",
  "docs_url": "",
  "kind": "local_artifact",
  "location": "",
  "path": "raw/calls/REL_10_23.jsonl",
  "position": 10,
  "sha256": "00d16d3eb01b71ccf1b245c8f3102f9d0ec9f36fb02777b8dd1b99fcb263040c",
  "source_id": "src.calls.REL_10_23",
  "tag": "REL_10_23",
  "url": ""
}

来源引用

完整定义与证据 JSON

定义来源

center · PostgreSQL 18 · english-manuals:4685a816461b5496fa597cfa889358b6af3989e997418b273d125352398bac92

正文语言: zh-Hans · english-manuals:4685a816461b5496fa597cfa889358b6af3989e997418b273d125352398bac92