The Spanner client library uses the same mechanism as all other C++ client libraries for configuration. As usual for the C++ client libraries, it adds a number of unique options only applicable for the Spanner library.
[[["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."],[[["\u003cp\u003eThis page documents the configuration options for the Spanner C++ client library, which uses the same configuration mechanism as other C++ client libraries, along with unique Spanner-specific options.\u003c/p\u003e\n"],["\u003cp\u003eThe latest release candidate version of the Spanner C++ client library is 2.37.0-rc, with a history of releases extending back to version 2.11.0, and many in between.\u003c/p\u003e\n"],["\u003cp\u003eThe documentation highlights numerous classes, including retry policies, backoff policies, polling policies, session pool management, query optimization, request priority, and transaction management, as specific configuration options for the Spanner client library.\u003c/p\u003e\n"],["\u003cp\u003eThere is a link to the "Client Library Configuration" that gives users a more in-depth overview of the C++ client library configuration.\u003c/p\u003e\n"]]],[],null,["# Spanner Client Library Configuration Options (2.14.0)\n\nVersion 2.14.0keyboard_arrow_down\n\n- [2.42.0-rc (latest)](/cpp/docs/reference/spanner/latest/group__spanner-options)\n- [2.41.0](/cpp/docs/reference/spanner/2.41.0/group__spanner-options)\n- [2.40.0](/cpp/docs/reference/spanner/2.40.0/group__spanner-options)\n- [2.39.0](/cpp/docs/reference/spanner/2.39.0/group__spanner-options)\n- [2.38.0](/cpp/docs/reference/spanner/2.38.0/group__spanner-options)\n- [2.37.0](/cpp/docs/reference/spanner/2.37.0/group__spanner-options)\n- [2.36.0](/cpp/docs/reference/spanner/2.36.0/group__spanner-options)\n- [2.35.0](/cpp/docs/reference/spanner/2.35.0/group__spanner-options)\n- [2.34.0](/cpp/docs/reference/spanner/2.34.0/group__spanner-options)\n- [2.33.0](/cpp/docs/reference/spanner/2.33.0/group__spanner-options)\n- [2.32.0](/cpp/docs/reference/spanner/2.32.0/group__spanner-options)\n- [2.31.0](/cpp/docs/reference/spanner/2.31.0/group__spanner-options)\n- [2.30.0](/cpp/docs/reference/spanner/2.30.0/group__spanner-options)\n- [2.29.0](/cpp/docs/reference/spanner/2.29.0/group__spanner-options)\n- [2.28.0](/cpp/docs/reference/spanner/2.28.0/group__spanner-options)\n- [2.27.0](/cpp/docs/reference/spanner/2.27.0/group__spanner-options)\n- [2.26.0](/cpp/docs/reference/spanner/2.26.0/group__spanner-options)\n- [2.25.1](/cpp/docs/reference/spanner/2.25.1/group__spanner-options)\n- [2.24.0](/cpp/docs/reference/spanner/2.24.0/group__spanner-options)\n- [2.23.0](/cpp/docs/reference/spanner/2.23.0/group__spanner-options)\n- [2.22.1](/cpp/docs/reference/spanner/2.22.1/group__spanner-options)\n- [2.21.0](/cpp/docs/reference/spanner/2.21.0/group__spanner-options)\n- [2.20.0](/cpp/docs/reference/spanner/2.20.0/group__spanner-options)\n- [2.19.0](/cpp/docs/reference/spanner/2.19.0/group__spanner-options)\n- [2.18.0](/cpp/docs/reference/spanner/2.18.0/group__spanner-options)\n- [2.17.0](/cpp/docs/reference/spanner/2.17.0/group__spanner-options)\n- [2.16.0](/cpp/docs/reference/spanner/2.16.0/group__spanner-options)\n- [2.15.1](/cpp/docs/reference/spanner/2.15.1/group__spanner-options)\n- [2.14.0](/cpp/docs/reference/spanner/2.14.0/group__spanner-options)\n- [2.13.0](/cpp/docs/reference/spanner/2.13.0/group__spanner-options)\n- [2.12.0](/cpp/docs/reference/spanner/2.12.0/group__spanner-options)\n- [2.11.0](/cpp/docs/reference/spanner/2.11.0/group__spanner-options) \n\nSpanner Client Library Configuration Options\n============================================\n\nThe Spanner client library uses the same mechanism as all other C++ client libraries for configuration. As usual for the C++ client libraries, it adds a number of unique options only applicable for the Spanner library.\n\n###### See Also\n\n[Client Library Configuration](https://cloud.google.com/cpp/docs/reference/common/latest/group__options.html) - for an overview of client library configuration.\n\n### Classes\n\n- [`google::cloud::spanner::SpannerRetryPolicyOption`](/cpp/docs/reference/spanner/2.14.0/structgoogle_1_1cloud_1_1spanner_1_1SpannerRetryPolicyOption)\n- [`google::cloud::spanner::SpannerBackoffPolicyOption`](/cpp/docs/reference/spanner/2.14.0/structgoogle_1_1cloud_1_1spanner_1_1SpannerBackoffPolicyOption)\n- [`google::cloud::spanner::SpannerPollingPolicyOption`](/cpp/docs/reference/spanner/2.14.0/structgoogle_1_1cloud_1_1spanner_1_1SpannerPollingPolicyOption)\n- [`google::cloud::spanner::RouteToLeaderOption`](/cpp/docs/reference/spanner/2.14.0/structgoogle_1_1cloud_1_1spanner_1_1RouteToLeaderOption)\n- [`google::cloud::spanner::SessionCreatorRoleOption`](/cpp/docs/reference/spanner/2.14.0/structgoogle_1_1cloud_1_1spanner_1_1SessionCreatorRoleOption)\n- [`google::cloud::spanner::SessionPoolMinSessionsOption`](/cpp/docs/reference/spanner/2.14.0/structgoogle_1_1cloud_1_1spanner_1_1SessionPoolMinSessionsOption)\n- [`google::cloud::spanner::SessionPoolMaxSessionsPerChannelOption`](/cpp/docs/reference/spanner/2.14.0/structgoogle_1_1cloud_1_1spanner_1_1SessionPoolMaxSessionsPerChannelOption)\n- [`google::cloud::spanner::SessionPoolMaxIdleSessionsOption`](/cpp/docs/reference/spanner/2.14.0/structgoogle_1_1cloud_1_1spanner_1_1SessionPoolMaxIdleSessionsOption)\n- [`google::cloud::spanner::SessionPoolActionOnExhaustionOption`](/cpp/docs/reference/spanner/2.14.0/structgoogle_1_1cloud_1_1spanner_1_1SessionPoolActionOnExhaustionOption)\n- [`google::cloud::spanner::SessionPoolKeepAliveIntervalOption`](/cpp/docs/reference/spanner/2.14.0/structgoogle_1_1cloud_1_1spanner_1_1SessionPoolKeepAliveIntervalOption)\n- [`google::cloud::spanner::SessionPoolLabelsOption`](/cpp/docs/reference/spanner/2.14.0/structgoogle_1_1cloud_1_1spanner_1_1SessionPoolLabelsOption)\n- [`google::cloud::spanner::QueryOptimizerVersionOption`](/cpp/docs/reference/spanner/2.14.0/structgoogle_1_1cloud_1_1spanner_1_1QueryOptimizerVersionOption)\n- [`google::cloud::spanner::QueryOptimizerStatisticsPackageOption`](/cpp/docs/reference/spanner/2.14.0/structgoogle_1_1cloud_1_1spanner_1_1QueryOptimizerStatisticsPackageOption)\n- [`google::cloud::spanner::RequestPriorityOption`](/cpp/docs/reference/spanner/2.14.0/structgoogle_1_1cloud_1_1spanner_1_1RequestPriorityOption)\n- [`google::cloud::spanner::RequestTagOption`](/cpp/docs/reference/spanner/2.14.0/structgoogle_1_1cloud_1_1spanner_1_1RequestTagOption)\n- [`google::cloud::spanner::ReadIndexNameOption`](/cpp/docs/reference/spanner/2.14.0/structgoogle_1_1cloud_1_1spanner_1_1ReadIndexNameOption)\n- [`google::cloud::spanner::ReadRowLimitOption`](/cpp/docs/reference/spanner/2.14.0/structgoogle_1_1cloud_1_1spanner_1_1ReadRowLimitOption)\n- [`google::cloud::spanner::StreamingResumabilityBufferSizeOption`](/cpp/docs/reference/spanner/2.14.0/structgoogle_1_1cloud_1_1spanner_1_1StreamingResumabilityBufferSizeOption)\n- [`google::cloud::spanner::PartitionSizeOption`](/cpp/docs/reference/spanner/2.14.0/structgoogle_1_1cloud_1_1spanner_1_1PartitionSizeOption)\n- [`google::cloud::spanner::PartitionsMaximumOption`](/cpp/docs/reference/spanner/2.14.0/structgoogle_1_1cloud_1_1spanner_1_1PartitionsMaximumOption)\n- [`google::cloud::spanner::PartitionDataBoostOption`](/cpp/docs/reference/spanner/2.14.0/structgoogle_1_1cloud_1_1spanner_1_1PartitionDataBoostOption)\n- [`google::cloud::spanner::TransactionTagOption`](/cpp/docs/reference/spanner/2.14.0/structgoogle_1_1cloud_1_1spanner_1_1TransactionTagOption)\n- [`google::cloud::spanner::CommitReturnStatsOption`](/cpp/docs/reference/spanner/2.14.0/structgoogle_1_1cloud_1_1spanner_1_1CommitReturnStatsOption)"]]