Total number of databases checked for custom checks: 3
Total number of databases containing pg_largeobject: 0
Total number of databases containing event triggers permissions issue: 0
Total number of databases containing extensions compatibility violation: 1
Total number of databases containing search path violations: 0
pg_upgrade 확인 실패
PG_UPGRADE_CHECK는 표준 pg_upgrade 유틸리티를 사용하여 위반사항을 확인합니다. 이 업그레이드 확인에는 버전별 데이터 구조의 차이, 인코딩 및 콜레이션 수정, 데이터 유형 수정, 시스템 카탈로그 조정 등 다양한 요인으로 인해 발생하는 데이터 불일치가 포함됩니다.
pg_upgrade 중에 생성되는 tables_with_oids.txt, tables_using_reg.txt과 같은 여러 파일이 postgres_upgrade 로그 파일로 내보내집니다. labels.FILE_NAME 라벨을 사용하여 이러한 파일을 필터링할 수 있습니다.
해결해야 할 오류가 포함된 파일 이름은 다음과 같습니다.
파일 이름
설명
tables_with_oids.txt
이 파일에는 객체 식별자(OID)와 함께 나열된 테이블이 포함되어 있습니다. OID를 사용하지 않도록 테이블을 삭제하거나 수정합니다.
tables_using_composite.txt
이 파일에는 시스템 정의 복합 유형을 사용하여 나열된 테이블이 포함되어 있습니다. 테이블을 삭제하거나 이러한 복합 유형을 사용하지 않도록 수정합니다.
tables_using_unknown.txt
이 파일에는 UNKNOWN 데이터 유형을 사용하여 나열된 테이블이 포함되어 있습니다. 테이블을 삭제하거나 이 데이터 유형을 사용하지 않도록 수정합니다.
tables_using_sql_identifier.txt
이 파일에는 SQL_IDENTIFIER 데이터 유형을 사용하여 나열된 테이블이 포함되어 있습니다. 테이블을 삭제하거나 이 데이터 유형을 사용하지 않도록 수정합니다.
tables_using_reg.txt
이 파일에는 REG* 데이터 유형(예: REGCOLLATION 또는 REGNAMESPACE)을 사용하여 나열된 테이블이 포함되어 있습니다. 테이블을 삭제하거나 이 데이터 유형을 사용하지 않도록 수정합니다.
postfix_ops.txt
이 파일에는 postfix(오른쪽 단항) 연산자를 사용하여 나열된 테이블이 포함되어 있습니다. 이러한 연산자를 사용하지 않도록 테이블을 삭제하거나 수정합니다.
pg_upgrade 실패
PG_UPGRADE 로그의 구조는 PG_UPGRADE_CHECK 로그의 구조와 유사합니다.
다음은 labels.FILE_NAME=pg_upgrade_dump*.log: 라벨이 있는 로그의 예입니다.
pg_upgrade_dump: error: query failed: ERROR: out of shared memory
HINT: You might need to increase max_locks_per_transaction.
[[["이해하기 쉬움","easyToUnderstand","thumb-up"],["문제가 해결됨","solvedMyProblem","thumb-up"],["기타","otherUp","thumb-up"]],[["이해하기 어려움","hardToUnderstand","thumb-down"],["잘못된 정보 또는 샘플 코드","incorrectInformationOrSampleCode","thumb-down"],["필요한 정보/샘플이 없음","missingTheInformationSamplesINeed","thumb-down"],["번역 문제","translationIssue","thumb-down"],["기타","otherDown","thumb-down"]],["최종 업데이트: 2025-09-03(UTC)"],[[["\u003cp\u003eThis document provides troubleshooting guidance for in-place major version upgrades of AlloyDB for PostgreSQL databases, outlining the validation process and potential failure points.\u003c/p\u003e\n"],["\u003cp\u003eUpgrades can fail due to invalid requests, cluster resource states, pre-upgrade check violations, or internal errors, with different stages having specific failure types.\u003c/p\u003e\n"],["\u003cp\u003ePre-upgrade check failures, categorized as \u003ccode\u003eALLOYDB_PRECHECK\u003c/code\u003e and \u003ccode\u003ePG_UPGRADE_CHECK\u003c/code\u003e, are caused by issues like extension incompatibilities or data inconsistencies, respectively.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003epg_upgrade\u003c/code\u003e check failures can involve tables with OIDs, composite types, \u003ccode\u003eUNKNOWN\u003c/code\u003e, \u003ccode\u003eSQL_IDENTIFIER\u003c/code\u003e, or \u003ccode\u003eREG*\u003c/code\u003e data types, or tables using postfix operators, all of which require modifications or deletion.\u003c/p\u003e\n"],["\u003cp\u003eError messages and upgrade logs are accessible via the \u003ccode\u003elogs_url\u003c/code\u003e in the upgrade operation response and can be viewed in the Logs Explorer, providing detailed insights into upgrade failures.\u003c/p\u003e\n"]]],[],null,["# Troubleshoot an in-place major version upgrade\n\nThis document describes how to troubleshoot issues you might encounter while\nupgrading your AlloyDB for PostgreSQL database to an in-place major version. For\nmore information, see [Upgrade a database in-place major version](/alloydb/docs/upgrade-db-inplace-major-version).\nTo learn about in-place major version upgrade errors, see\n[Database in-place major version upgrade errors](/alloydb/docs/troubleshoot/database-inplace-major-version-upgrade-errors).\n\nTo analyze upgrade failures, identify the failed upgrade stage from the response\nand use the information in this document to identify possible resolutions.\n\nAlloyDB validates your request synchronously and returns an error\nmessage if any of the following are true:\n\n- Request is invalid. For example, if the provided target major version isn't supported or is less than or equal to the current major version.\n- The cluster resources are in a state in which the major version upgrade can't be triggered. For example, if the cluster or any of the associated instances aren't in a `READY` state.\n\nIf the request is valid, the upgrade might fail due to the following reasons:\n\n- Pre-upgrade checks performed at various stages can fail, which indicates that violations are detected. You must address these violations before you restart the upgrade.\n- Internal errors mean that you need to retry the upgrade. If retries fail, contact [Google Cloud Support](https://cloud.google.com/support).\n\nAlloyDB pre-upgrade check failures\n----------------------------------\n\nPre-upgrade check failures can happen during any of the following stages:\n\n- AlloyDB pre-upgrade checks (`ALLOYDB_PRECHECK`)\n- `pg_upgrade` checks (`PG_UPGRADE_CHECK`)\n- Primary cluster upgrades (`PRIMARY_INSTANCE_UPGRADE`)\n\n*Pre-upgrade check failures* are issues that AlloyDB detects\nduring the pre-upgrade validation phase, which can cause the in-place major\nversion upgrade to fail. For example, AlloyDB checks for\nextension incompatibilities between the current and target major version.\n\nError messages are populated in the `logs_url` in the upgrade operation\nresponse. You can view these logs by navigating to [Logs Explorer](/logging/docs/view/logs-explorer-interface) in the Google Cloud console. For more information, see\n[View upgrade logs](/alloydb/docs/upgrade-db-inplace-major-version#view-upgrade-logs).\n\nTo view the failures and the corresponding error messages that you might see in\nthe logs, see [Database in-place major version upgrade errors](/alloydb/docs/troubleshoot/database-inplace-major-version-upgrade-errors).\n\nThe following is an example of the summary that's generated in the logs by\nAlloyDB pre-upgrade checks: \n\n```\nTotal number of databases checked for custom checks: 3\nTotal number of databases containing pg_largeobject: 0\nTotal number of databases containing event triggers permissions issue: 0\nTotal number of databases containing extensions compatibility violation: 1\nTotal number of databases containing search path violations: 0\n```\n\npg_upgrade check failures\n-------------------------\n\n`PG_UPGRADE_CHECK` checks for violations using the standard `pg_upgrade`\nutility. This upgrade check includes data inconsistencies that arise from\nvarious factors, including differences in version-specific data structures,\nalterations in encoding and collation, modifications to data types, and\nadjustments to the system catalog.\n\nMultiple files --like `tables_with_oids.txt` and `tables_using_reg.txt`, which\nare generated during `pg_upgrade`-- are exported to the `postgres_upgrade` log file. You can\nfilter these files using the label `labels.FILE_NAME`.\n\nFilenames that might contain errors to resolve include the following:\n\npg_upgrade failures\n-------------------\n\nThe structure of `PG_UPGRADE` logs is similar to the structure of\n`PG_UPGRADE_CHECK` logs.\n\nThe following is an example of a log with the label\n`labels.FILE_NAME=pg_upgrade_dump*.log:` \n\n```\npg_upgrade_dump: error: query failed: ERROR: out of shared memory\nHINT: You might need to increase max_locks_per_transaction.\n```\n\n### What's next\n\n- Learn about [database in-place major version upgrade errors](/alloydb/docs/troubleshoot/database-inplace-major-version-upgrade-errors).\n- Learn how to [perform a database in-place major version upgrade](/alloydb/docs/upgrade-db-inplace-major-version)."]]