{"Entry":{"collection":"guc","key":"max_identifier_length","name":"max_identifier_length","aliases":[],"metadata":{"baseline":false,"boot_human":"Not specified","boot_val":null,"category":"Preset Options","category_zh":"","changed_in":[],"changes":[{"documentation_changed":false,"fields":{},"from":"7.4","status":"added","to":"8.0"},{"documentation_changed":true,"fields":{},"from":"8.0","status":"changed","to":"8.1"},{"documentation_changed":true,"fields":{},"from":"8.1","status":"changed","to":"8.2"},{"documentation_changed":true,"fields":{},"from":"8.4","status":"changed","to":"9.0"}],"content_hash":"bf5265baf7dad18f661a7aaf8a69bcb437c869ca6d4c201753f6e02921315957","context":"","default_changed_in":[],"default_history":[{"from":"9.0","to":"19","value":"63"}],"editorial":{"advice":{"olap":"Not tunable. Use max_identifier_length to verify format, build, or resource assumptions on analytical nodes and keep every read/write candidate compatible.","oltp":"Not tunable. Record max_identifier_length as a deployment/capability fact; if it is unexpected, fix the binary, initdb, or database-creation process rather than trying SET.","small":"Not tunable. Preserve it in inventory and incident reports; do not custom-build or rebuild merely to change it without a demonstrated compatibility need."},"mechanism":["Shows the maximum identifier length. It is read-only and cannot be changed with SET or configuration-file edits.","It exposes NAMEDATALEN minus one; longer unquoted or quoted identifiers are truncated when objects are created.","Interpret it with max_function_args, max_index_keys, block_size. Applications and operations tooling may read max_identifier_length for capability or environment detection, but cannot SET it; cross-cluster comparisons must account for build, initdb, and current-database differences."],"pitfalls":["Trying to change read-only max_identifier_length with SET or a configuration file.","Assuming every cluster, database, or vendor build reports the same value.","Ignoring the value in file-format or feature-compatibility checks.","Treating reported metadata as a performance target instead of an environment fact."],"references":[{"title":"PostgreSQL 19 Beta 4: max_identifier_length","url":"https://www.postgresql.org/docs/19/runtime-config-preset.html#GUC-MAX-IDENTIFIER-LENGTH"},{"title":"PostgreSQL 19 release notes","url":"https://www.postgresql.org/docs/19/release-19.html"}],"related":["max_function_args","max_index_keys","block_size","server_version_num","data_checksums","data_directory_mode"],"summary":"max_identifier_length — Shows the maximum identifier length. Observed in PG9.0–19 Beta 4; its last measured boot default is 63 in PG19 Beta 4, with internal context. This is a beta-snapshot fact and can change before PostgreSQL 19 GA."},"enumvals":[],"first_version":"8.0","group":"Preset Options","group_slug":"preset","imported_at":"2026-09-27T17:57:31.693724+08:00","intro_commit":{},"key":"max_identifier_length","last_version":"20","max_val":"","min_val":"","name":"max_identifier_length","position":268,"present_in":["8.0","8.1","8.2","8.3","8.4","9.0","9.1","9.2","9.3","9.4","9.5","9.6","10","11","12","13","14","15","16","17","18","19","20"],"short_desc":"Reports the maximum identifier length.","short_desc_zh":"","source_rev":"english-manuals:24efe4985fe7ed9cf360109448fb94b1a0c7b834f09434f7b8f90e06cf038ffd","unit":"","vartype":"integer"}},"Definition":{"Collection":"guc","Key":"max_identifier_length","SourceDatabase":"center","Version":"18","SourceTable":"guc","SourceKey":"max_identifier_length","SourceRevision":"english-manuals:24efe4985fe7ed9cf360109448fb94b1a0c7b834f09434f7b8f90e06cf038ffd","Facts":{"boot_val":"63","category":"Preset Options","context":"internal","description":"Reports the maximum identifier length. It is determined as one less than the value of NAMEDATALEN when building the server. The default value of NAMEDATALEN is 64; therefore the default max_identifier_length is 63 bytes, which can be less than 63 characters when using multibyte encodings.","doc":{"anchor":"GUC-MAX-IDENTIFIER-LENGTH","file":"runtime-config-preset.html","lang":"en","sha256":"4dbfec727b9cee838adefb8a766217748d91ab90190b452a58cec737459582ce","slug":"18"},"documented":true,"enumvals":null,"extra_desc":null,"lang":"en","max_val":"63","metadata_version":"18","min_val":"63","name":"max_identifier_length","short_desc":"Shows the maximum identifier length.","source":"pg-settings-source-snapshot","unit":null,"vartype":"integer"},"ManualEvidence":{"doc":{"anchor":"GUC-MAX-IDENTIFIER-LENGTH","file":"runtime-config-preset.html","lang":"en","sha256":"4dbfec727b9cee838adefb8a766217748d91ab90190b452a58cec737459582ce","slug":"18"}},"MeasuredEvidence":{"metadata_version":"18"}},"Text":{"Collection":"guc","Key":"max_identifier_length","SourceDatabase":"center","Version":"18","Locale":"en","Title":"max_identifier_length","Summary":"Reports the maximum identifier length. It is determined as one less than the value of NAMEDATALEN when building the server. The default value of NAMEDATALEN is 64; therefore the default max_identifier_length is 63 bytes, which can be less than 63 characters when using multibyte encodings.","BodyHTML":"\u003cp\u003eReports the maximum identifier length. It is determined as one less than the value of NAMEDATALEN when building the server. The default value of NAMEDATALEN is 64; therefore the default max_identifier_length is 63 bytes, which can be less than 63 characters when using multibyte encodings.\u003c/p\u003e","SourceRevision":"english-manuals:24efe4985fe7ed9cf360109448fb94b1a0c7b834f09434f7b8f90e06cf038ffd","ContentHash":"468b3086d4b8901bf1d7382d30317816b5dfabef57ba0a831ad25d192719e841","Payload":{"description":"Reports the maximum identifier length. It is determined as one less than the value of NAMEDATALEN when building the server. The default value of NAMEDATALEN is 64; therefore the default max_identifier_length is 63 bytes, which can be less than 63 characters when using multibyte encodings."}},"RequestedLocale":"zh-Hans","Fallback":true,"Versions":["10","11","12","13","14","15","16","17","18","19","20","8.0","8.1","8.2","8.3","8.4","9.0","9.1","9.2","9.3","9.4","9.5","9.6"],"Locales":["en"],"Signatures":null,"Spellings":null,"SQLState":null,"Evidence":null}
