TypeAnnotationCode is used as a part of
Type][google.spanner.v1.Type] to disambiguate SQL types that should
be used for a given Cloud Spanner value. Disambiguation is needed
because the same Cloud Spanner type can be mapped to different SQL
types depending on SQL dialect. TypeAnnotationCode doesn't affect
the way value is serialized.
Enums
Name
Description
TYPE_ANNOTATION_CODE_UNSPECIFIED
Not specified.
PG_NUMERIC
PostgreSQL compatible NUMERIC type. This annotation needs to be applied to `Type][google.spanner.v1.Type]` instances having `NUMERIC][google.spanner.v1.TypeCode.NUMERIC]` type code to specify that values of this type should be treated as PostgreSQL NUMERIC values. Currently this annotation is always needed for `NUMERIC][google.spanner.v1.TypeCode.NUMERIC]` when a client interacts with PostgreSQL-enabled Spanner databases.
PG_JSONB
PostgreSQL compatible JSONB type. This annotation needs to be applied to `Type][google.spanner.v1.Type]` instances having `JSON][google.spanner.v1.TypeCode.JSON]` type code to specify that values of this type should be treated as PostgreSQL JSONB values. Currently this annotation is always needed for `JSON][google.spanner.v1.TypeCode.JSON]` when a client interacts with PostgreSQL-enabled Spanner databases.
PG_OID
PostgreSQL compatible OID type. This annotation can be used by a client interacting with PostgreSQL-enabled Spanner database to specify that a value should be treated using the semantics of the OID type.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-09-04 UTC."],[],[],null,["# Class TypeAnnotationCode (3.57.0)\n\nVersion latestkeyboard_arrow_down\n\n- [3.57.0 (latest)](/python/docs/reference/spanner/latest/google.cloud.spanner_v1.types.TypeAnnotationCode)\n- [3.56.0](/python/docs/reference/spanner/3.56.0/google.cloud.spanner_v1.types.TypeAnnotationCode)\n- [3.55.0](/python/docs/reference/spanner/3.55.0/google.cloud.spanner_v1.types.TypeAnnotationCode)\n- [3.54.0](/python/docs/reference/spanner/3.54.0/google.cloud.spanner_v1.types.TypeAnnotationCode)\n- [3.53.0](/python/docs/reference/spanner/3.53.0/google.cloud.spanner_v1.types.TypeAnnotationCode)\n- [3.52.0](/python/docs/reference/spanner/3.52.0/google.cloud.spanner_v1.types.TypeAnnotationCode)\n- [3.51.0](/python/docs/reference/spanner/3.51.0/google.cloud.spanner_v1.types.TypeAnnotationCode)\n- [3.50.1](/python/docs/reference/spanner/3.50.1/google.cloud.spanner_v1.types.TypeAnnotationCode)\n- [3.46.0](/python/docs/reference/spanner/3.46.0/google.cloud.spanner_v1.types.TypeAnnotationCode)\n- [3.45.0](/python/docs/reference/spanner/3.45.0/google.cloud.spanner_v1.types.TypeAnnotationCode)\n- [3.44.0](/python/docs/reference/spanner/3.44.0/google.cloud.spanner_v1.types.TypeAnnotationCode)\n- [3.43.0](/python/docs/reference/spanner/3.43.0/google.cloud.spanner_v1.types.TypeAnnotationCode)\n- [3.42.0](/python/docs/reference/spanner/3.42.0/google.cloud.spanner_v1.types.TypeAnnotationCode)\n- [3.41.0](/python/docs/reference/spanner/3.41.0/google.cloud.spanner_v1.types.TypeAnnotationCode)\n- [3.40.1](/python/docs/reference/spanner/3.40.1/google.cloud.spanner_v1.types.TypeAnnotationCode)\n- [3.39.0](/python/docs/reference/spanner/3.39.0/google.cloud.spanner_v1.types.TypeAnnotationCode)\n- [3.38.0](/python/docs/reference/spanner/3.38.0/google.cloud.spanner_v1.types.TypeAnnotationCode)\n- [3.37.0](/python/docs/reference/spanner/3.37.0/google.cloud.spanner_v1.types.TypeAnnotationCode)\n- [3.36.0](/python/docs/reference/spanner/3.36.0/google.cloud.spanner_v1.types.TypeAnnotationCode)\n- [3.35.1](/python/docs/reference/spanner/3.35.1/google.cloud.spanner_v1.types.TypeAnnotationCode)\n- [3.34.0](/python/docs/reference/spanner/3.34.0/google.cloud.spanner_v1.types.TypeAnnotationCode)\n- [3.33.0](/python/docs/reference/spanner/3.33.0/google.cloud.spanner_v1.types.TypeAnnotationCode)\n- [3.32.0](/python/docs/reference/spanner/3.32.0/google.cloud.spanner_v1.types.TypeAnnotationCode)\n- [3.31.0](/python/docs/reference/spanner/3.31.0/google.cloud.spanner_v1.types.TypeAnnotationCode)\n- [3.30.0](/python/docs/reference/spanner/3.30.0/google.cloud.spanner_v1.types.TypeAnnotationCode)\n- [3.29.0](/python/docs/reference/spanner/3.29.0/google.cloud.spanner_v1.types.TypeAnnotationCode)\n- [3.28.0](/python/docs/reference/spanner/3.28.0/google.cloud.spanner_v1.types.TypeAnnotationCode)\n- [3.27.1](/python/docs/reference/spanner/3.27.1/google.cloud.spanner_v1.types.TypeAnnotationCode)\n- [3.26.0](/python/docs/reference/spanner/3.26.0/google.cloud.spanner_v1.types.TypeAnnotationCode)\n- [3.25.0](/python/docs/reference/spanner/3.25.0/google.cloud.spanner_v1.types.TypeAnnotationCode)\n- [3.24.0](/python/docs/reference/spanner/3.24.0/google.cloud.spanner_v1.types.TypeAnnotationCode)\n- [3.23.0](/python/docs/reference/spanner/3.23.0/google.cloud.spanner_v1.types.TypeAnnotationCode)\n- [3.22.2](/python/docs/reference/spanner/3.22.2/google.cloud.spanner_v1.types.TypeAnnotationCode)\n- [3.21.0](/python/docs/reference/spanner/3.21.0/google.cloud.spanner_v1.types.TypeAnnotationCode)\n- [3.20.0](/python/docs/reference/spanner/3.20.0/google.cloud.spanner_v1.types.TypeAnnotationCode)\n- [3.19.0](/python/docs/reference/spanner/3.19.0/google.cloud.spanner_v1.types.TypeAnnotationCode)\n- [3.18.0](/python/docs/reference/spanner/3.18.0/google.cloud.spanner_v1.types.TypeAnnotationCode)\n- [3.17.0](/python/docs/reference/spanner/3.17.0/google.cloud.spanner_v1.types.TypeAnnotationCode)\n- [3.16.0](/python/docs/reference/spanner/3.16.0/google.cloud.spanner_v1.types.TypeAnnotationCode)\n- [3.15.1](/python/docs/reference/spanner/3.15.1/google.cloud.spanner_v1.types.TypeAnnotationCode)\n- [3.14.1](/python/docs/reference/spanner/3.14.1/google.cloud.spanner_v1.types.TypeAnnotationCode)\n- [3.13.0](/python/docs/reference/spanner/3.13.0/google.cloud.spanner_v1.types.TypeAnnotationCode)\n- [3.12.1](/python/docs/reference/spanner/3.12.1/google.cloud.spanner_v1.types.TypeAnnotationCode)\n- [3.11.1](/python/docs/reference/spanner/3.11.1/google.cloud.spanner_v1.types.TypeAnnotationCode)\n- [3.10.0](/python/docs/reference/spanner/3.10.0/google.cloud.spanner_v1.types.TypeAnnotationCode)\n- [3.9.0](/python/docs/reference/spanner/3.9.0/google.cloud.spanner_v1.types.TypeAnnotationCode)\n- [3.8.0](/python/docs/reference/spanner/3.8.0/google.cloud.spanner_v1.types.TypeAnnotationCode)\n- [3.7.0](/python/docs/reference/spanner/3.7.0/google.cloud.spanner_v1.types.TypeAnnotationCode)\n- [3.6.0](/python/docs/reference/spanner/3.6.0/google.cloud.spanner_v1.types.TypeAnnotationCode)\n- [3.5.0](/python/docs/reference/spanner/3.5.0/google.cloud.spanner_v1.types.TypeAnnotationCode)\n- [3.4.0](/python/docs/reference/spanner/3.4.0/google.cloud.spanner_v1.types.TypeAnnotationCode)\n- [3.3.0](/python/docs/reference/spanner/3.3.0/google.cloud.spanner_v1.types.TypeAnnotationCode)\n- [3.2.0](/python/docs/reference/spanner/3.2.0/google.cloud.spanner_v1.types.TypeAnnotationCode)\n- [3.1.0](/python/docs/reference/spanner/3.1.0/google.cloud.spanner_v1.types.TypeAnnotationCode)\n- [3.0.0](/python/docs/reference/spanner/3.0.0/google.cloud.spanner_v1.types.TypeAnnotationCode)\n- [2.1.1](/python/docs/reference/spanner/2.1.1/google.cloud.spanner_v1.types.TypeAnnotationCode)\n- [2.0.0](/python/docs/reference/spanner/2.0.0/google.cloud.spanner_v1.types.TypeAnnotationCode)\n- [1.19.3](/python/docs/reference/spanner/1.19.3/google.cloud.spanner_v1.types.TypeAnnotationCode)\n- [1.18.0](/python/docs/reference/spanner/1.18.0/google.cloud.spanner_v1.types.TypeAnnotationCode)\n- [1.17.1](/python/docs/reference/spanner/1.17.1/google.cloud.spanner_v1.types.TypeAnnotationCode)\n- [1.16.0](/python/docs/reference/spanner/1.16.0/google.cloud.spanner_v1.types.TypeAnnotationCode)\n- [1.15.1](/python/docs/reference/spanner/1.15.1/google.cloud.spanner_v1.types.TypeAnnotationCode)\n- [1.14.0](/python/docs/reference/spanner/1.14.0/google.cloud.spanner_v1.types.TypeAnnotationCode)\n- [1.13.0](/python/docs/reference/spanner/1.13.0/google.cloud.spanner_v1.types.TypeAnnotationCode)\n- [1.12.0](/python/docs/reference/spanner/1.12.0/google.cloud.spanner_v1.types.TypeAnnotationCode)\n- [1.11.0](/python/docs/reference/spanner/1.11.0/google.cloud.spanner_v1.types.TypeAnnotationCode)\n- [1.10.0](/python/docs/reference/spanner/1.10.0/google.cloud.spanner_v1.types.TypeAnnotationCode) \n\n TypeAnnotationCode(value)\n\n`TypeAnnotationCode` is used as a part of\n`Type][google.spanner.v1.Type]` to disambiguate SQL types that should\nbe used for a given Cloud Spanner value. Disambiguation is needed\nbecause the same Cloud Spanner type can be mapped to different SQL\ntypes depending on SQL dialect. TypeAnnotationCode doesn't affect\nthe way value is serialized."]]