Files
grafana/pkg/services/featuremgmt/toggles_gen.csv
T
Zoltán Bedi 1e383b0c1e Postgres: Switch the datasource plugin from lib/pq to pgx (#103961)
* Create libpqToPGX feature toggle

* Refactor PostgreSQL datasource to support PGX with feature toggle

- Updated `ProvideService` to accept feature toggles for enabling PGX.
- Modified integration tests to use the new PGX connection method.
- Introduced new functions for handling PGX connections and queries.
- Enhanced TLS configuration handling for PostgreSQL connections.
- Updated existing tests to ensure compatibility with PGX and new connection methods.

* Update PostgreSQL datasource to enhance connection pooling and error handling

- Increased `MaxOpenConns` to 10 in integration tests for improved connection management.
- Refactored connection handling in `newPostgresPGX` to return a connection pool instead of a single connection.
- Updated health check error handling to utilize context and feature toggles for better error reporting.
- Adjusted `DisposePGX` method to close the connection pool properly.
- Enhanced query execution to acquire connections from the pool, ensuring efficient resource usage.

* Cleanup

* Revert postgres_test unnecessary changes

* Rename feature toggle from `libpqToPGX` to `postgresDSUsePGX`

* Add null check to dispose method

* Fix lint issues

* Refactor connection string generation

* Address comment in health check file

* Rename p to pool

* Refactor executeQueryPGX and split into multiple functions

* Fix lint issues

* The returning error message from PGX is enough no need to separate the error code.

* Move TLS handling to newPostgresPGX function

* Disable ssl for integration tests

* Use MaxIdleConns option

* Remove old feature toggle

* Rename`generateConnectionConfigPGX` to `generateConnectionStringPGX`

* Add back part of the error messages

* Don't show max idle connections option when PGX enabled

* Address comments from Sriram

* Add back Sriram's changes

* PostgreSQL: Rework tls manager to use temporary files instead (#105330)

* Rework tls manager to use temporary files instead

* Lint and test fixes

* Update pkg/tsdb/grafana-postgresql-datasource/postgres.go

Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>

* Update betterer

---------

Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>

---------

Co-authored-by: Ivana Huckova <30407135+ivanahuckova@users.noreply.github.com>
2025-05-26 08:54:18 +02:00

18 KiB

1NameStageOwnerrequiresDevModeRequiresRestartFrontendOnly
2disableEnvelopeEncryptionGA@grafana/grafana-operator-experience-squadfalsefalsefalse
3panelTitleSearchpreview@grafana/search-and-storagefalsefalsefalse
4publicDashboardsEmailSharingpreview@grafana/sharing-squadfalsefalsefalse
5publicDashboardsSceneGA@grafana/sharing-squadfalsefalsetrue
6lokiExperimentalStreamingexperimental@grafana/observability-logsfalsefalsefalse
7featureHighlightsGA@grafana/grafana-operator-experience-squadfalsefalsefalse
8storageexperimental@grafana/search-and-storagefalsefalsefalse
9correlationsGA@grafana/dataviz-squadfalsefalsefalse
10canvasPanelNestingexperimental@grafana/dataviz-squadfalsefalsetrue
11logRequestsInstrumentedAsUnknownexperimental@grafana/grafana-backend-groupfalsefalsefalse
12grpcServerpreview@grafana/search-and-storagefalsefalsefalse
13cloudWatchCrossAccountQueryingGA@grafana/aws-datasourcesfalsefalsefalse
14showDashboardValidationWarningsexperimental@grafana/dashboards-squadfalsefalsefalse
15mysqlAnsiQuotesexperimental@grafana/search-and-storagefalsefalsefalse
16nestedFoldersGA@grafana/search-and-storagefalsefalsefalse
17alertingBacktestingexperimental@grafana/alerting-squadfalsefalsefalse
18editPanelCSVDragAndDropexperimental@grafana/dataviz-squadfalsefalsetrue
19logsContextDatasourceUiGA@grafana/observability-logsfalsefalsetrue
20lokiShardSplittingexperimental@grafana/observability-logsfalsefalsetrue
21lokiQuerySplittingGA@grafana/observability-logsfalsefalsetrue
22lokiQuerySplittingConfigexperimental@grafana/observability-logsfalsefalsetrue
23individualCookiePreferencesexperimental@grafana/grafana-backend-groupfalsefalsefalse
24influxdbBackendMigrationGA@grafana/partner-datasourcesfalsefalsetrue
25influxqlStreamingParserexperimental@grafana/partner-datasourcesfalsefalsefalse
26influxdbRunQueriesInParallelprivatePreview@grafana/partner-datasourcesfalsefalsefalse
27lokiLogsDataplaneexperimental@grafana/observability-logsfalsefalsefalse
28dataplaneFrontendFallbackGA@grafana/observability-metricsfalsefalsetrue
29disableSSEDataplaneexperimental@grafana/observability-metricsfalsefalsefalse
30unifiedRequestLogGA@grafana/grafana-backend-groupfalsefalsefalse
31renderAuthJWTpreview@grafana/sharing-squadfalsefalsefalse
32refactorVariablesTimeRangepreview@grafana/dashboards-squadfalsefalsefalse
33faroDatasourceSelectorpreview@grafana/app-o11yfalsefalsetrue
34enableDatagridEditingpreview@grafana/dataviz-squadfalsefalsetrue
35extraThemesexperimental@grafana/grafana-frontend-platformfalsefalsetrue
36lokiPredefinedOperationsexperimental@grafana/observability-logsfalsefalsetrue
37pluginsFrontendSandboxprivatePreview@grafana/plugins-platform-backendfalsefalsefalse
38pluginsDetailsRightPanelGA@grafana/plugins-platform-backendfalsefalsetrue
39sqlDatasourceDatabaseSelectionpreview@grafana/oss-big-tentfalsefalsetrue
40recordedQueriesMultiGA@grafana/observability-metricsfalsefalsefalse
41logsExploreTableVisualisationGA@grafana/observability-logsfalsefalsetrue
42awsDatasourcesTempCredentialsexperimental@grafana/aws-datasourcesfalsefalsefalse
43transformationsRedesignGA@grafana/observability-metricsfalsefalsetrue
44mlExpressionsexperimental@grafana/alerting-squadfalsefalsefalse
45datasourceAPIServersexperimental@grafana/grafana-app-platform-squadfalsetruefalse
46grafanaAPIServerWithExperimentalAPIsexperimental@grafana/grafana-app-platform-squadtruetruefalse
47provisioningexperimental@grafana/grafana-app-platform-squadfalsetruefalse
48grafanaAPIServerEnsureKubectlAccessexperimental@grafana/grafana-app-platform-squadtruetruefalse
49featureToggleAdminPageexperimental@grafana/grafana-operator-experience-squadfalsetruefalse
50awsAsyncQueryCachingGA@grafana/aws-datasourcesfalsefalsefalse
51permissionsFilterRemoveSubqueryexperimental@grafana/search-and-storagefalsefalsefalse
52configurableSchedulerTickexperimental@grafana/alerting-squadfalsetruefalse
53angularDeprecationUIGA@grafana/plugins-platform-backendfalsefalsetrue
54dashgptGA@grafana/dashboards-squadfalsefalsetrue
55aiGeneratedDashboardChangesexperimental@grafana/dashboards-squadfalsefalsetrue
56reportingRetriespreview@grafana/sharing-squadfalsetruefalse
57sseGroupByDatasourceexperimental@grafana/observability-metricsfalsefalsefalse
58libraryPanelRBACexperimental@grafana/dashboards-squadfalsetruefalse
59lokiRunQueriesInParallelprivatePreview@grafana/observability-logsfalsefalsefalse
60externalCorePluginsGA@grafana/plugins-platform-backendfalsefalsefalse
61externalServiceAccountspreview@grafana/identity-access-teamfalsefalsefalse
62panelMonitoringGA@grafana/dataviz-squadfalsefalsetrue
63enableNativeHTTPHistogramexperimental@grafana/grafana-backend-services-squadfalsetruefalse
64disableClassicHTTPHistogramexperimental@grafana/grafana-backend-services-squadfalsetruefalse
65formatStringGA@grafana/dataviz-squadfalsefalsetrue
66kubernetesSnapshotsexperimental@grafana/grafana-app-platform-squadfalsetruefalse
67kubernetesDashboardsexperimental@grafana/grafana-app-platform-squadfalsefalsetrue
68kubernetesClientDashboardsFoldersGA@grafana/grafana-app-platform-squadfalsefalsefalse
69dashboardDisableSchemaValidationV1experimental@grafana/grafana-app-platform-squadfalsefalsefalse
70dashboardDisableSchemaValidationV2experimental@grafana/grafana-app-platform-squadfalsefalsefalse
71dashboardSchemaValidationLoggingexperimental@grafana/grafana-app-platform-squadfalsefalsefalse
72datasourceQueryTypesexperimental@grafana/grafana-app-platform-squadfalsetruefalse
73queryServiceexperimental@grafana/grafana-datasources-core-servicesfalsetruefalse
74queryServiceRewriteexperimental@grafana/grafana-datasources-core-servicesfalsetruefalse
75queryServiceFromUIexperimental@grafana/grafana-datasources-core-servicesfalsefalsetrue
76queryServiceFromExploreexperimental@grafana/grafana-datasources-core-servicesfalsefalsetrue
77cloudWatchBatchQueriespreview@grafana/aws-datasourcesfalsefalsefalse
78lokiStructuredMetadataGA@grafana/observability-logsfalsefalsefalse
79cachingOptimizeSerializationMemoryUsageexperimental@grafana/grafana-operator-experience-squadfalsefalsefalse
80prometheusCodeModeMetricNamesSearchexperimental@grafana/oss-big-tentfalsefalsetrue
81addFieldFromCalculationStatFunctionsGA@grafana/dataviz-squadfalsefalsetrue
82alertmanagerRemoteSecondaryexperimental@grafana/alerting-squadfalsefalsefalse
83alertmanagerRemotePrimaryexperimental@grafana/alerting-squadfalsefalsefalse
84annotationPermissionUpdateGA@grafana/identity-access-teamfalsefalsefalse
85extractFieldsNameDeduplicationexperimental@grafana/dataviz-squadfalsefalsetrue
86dashboardSceneForViewersGA@grafana/dashboards-squadfalsefalsetrue
87dashboardSceneSoloGA@grafana/dashboards-squadfalsefalsetrue
88dashboardSceneGA@grafana/dashboards-squadfalsefalsetrue
89dashboardNewLayoutsexperimental@grafana/dashboards-squadfalsefalsetrue
90panelFilterVariableexperimental@grafana/dashboards-squadfalsefalsetrue
91pdfTablespreview@grafana/sharing-squadfalsefalsefalse
92ssoSettingsApiGA@grafana/identity-access-teamfalsefalsefalse
93canvasPanelPanZoompreview@grafana/dataviz-squadfalsefalsetrue
94logsInfiniteScrollingGA@grafana/observability-logsfalsefalsetrue
95logRowsPopoverMenuGA@grafana/observability-logsfalsefalsetrue
96pluginsSkipHostEnvVarsexperimental@grafana/plugins-platform-backendfalsefalsefalse
97tableSharedCrosshairexperimental@grafana/dataviz-squadfalsefalsetrue
98regressionTransformationpreview@grafana/dataviz-squadfalsefalsetrue
99lokiQueryHintsGA@grafana/observability-logsfalsefalsetrue
100kubernetesFeatureTogglesexperimental@grafana/grafana-operator-experience-squadfalsefalsetrue
101cloudRBACRolespreview@grafana/identity-access-teamfalsetruefalse
102alertingQueryOptimizationGA@grafana/alerting-squadfalsefalsefalse
103newFolderPickerexperimental@grafana/grafana-frontend-platformfalsefalsetrue
104jitterAlertRulesWithinGroupspreview@grafana/alerting-squadfalsetruefalse
105onPremToCloudMigrationsGA@grafana/grafana-operator-experience-squadfalsefalsefalse
106secretsManagementAppPlatformexperimental@grafana/grafana-operator-experience-squadfalsefalsefalse
107alertingSaveStatePeriodicprivatePreview@grafana/alerting-squadfalsefalsefalse
108alertingSaveStateCompressedpreview@grafana/alerting-squadfalsefalsefalse
109scopeApiexperimental@grafana/grafana-app-platform-squadfalsefalsefalse
110promQLScopeGA@grafana/oss-big-tentfalsefalsefalse
111logQLScopeprivatePreview@grafana/observability-logsfalsefalsefalse
112sqlExpressionsprivatePreview@grafana/grafana-datasources-core-servicesfalsefalsefalse
113groupToNestedTableTransformationGA@grafana/dataviz-squadfalsefalsetrue
114newPDFRenderingGA@grafana/sharing-squadfalsefalsefalse
115tlsMemcachedGA@grafana/grafana-operator-experience-squadfalsefalsefalse
116kubernetesAggregatorexperimental@grafana/grafana-app-platform-squadfalsetruefalse
117kubernetesAggregatorCapTokenAuthexperimental@grafana/grafana-app-platform-squadfalsetruefalse
118expressionParserexperimental@grafana/grafana-app-platform-squadfalsetruefalse
119groupByVariableexperimental@grafana/dashboards-squadfalsefalsefalse
120scopeFiltersexperimental@grafana/dashboards-squadfalsefalsefalse
121ssoSettingsSAMLGA@grafana/identity-access-teamfalsefalsefalse
122oauthRequireSubClaimexperimental@grafana/identity-access-teamfalsefalsefalse
123newDashboardWithFiltersAndGroupByexperimental@grafana/dashboards-squadfalsefalsefalse
124cloudWatchNewLabelParsingGA@grafana/aws-datasourcesfalsefalsefalse
125disableNumericMetricsSortingInExpressionsexperimental@grafana/oss-big-tentfalsetruefalse
126grafanaManagedRecordingRulesexperimental@grafana/alerting-squadfalsefalsefalse
127queryLibraryexperimental@grafana/grafana-frontend-platformfalsefalsefalse
128logsExploreTableDefaultVisualizationexperimental@grafana/observability-logsfalsefalsetrue
129newDashboardSharingComponentGA@grafana/sharing-squadfalsefalsetrue
130alertingListViewV2privatePreview@grafana/alerting-squadfalsefalsetrue
131alertingDisableSendAlertsExternalexperimental@grafana/alerting-squadfalsefalsefalse
132preserveDashboardStateWhenNavigatingexperimental@grafana/dashboards-squadfalsefalsefalse
133alertingCentralAlertHistoryexperimental@grafana/alerting-squadfalsefalsetrue
134pluginProxyPreserveTrailingSlashGA@grafana/plugins-platform-backendfalsefalsefalse
135azureMonitorPrometheusExemplarsGA@grafana/partner-datasourcesfalsefalsefalse
136pinNavItemsGA@grafana/grafana-frontend-platformfalsefalsefalse
137authZGRPCServerexperimental@grafana/identity-access-teamfalsefalsefalse
138ssoSettingsLDAPpreview@grafana/identity-access-teamfalsetruefalse
139failWrongDSUIDGA@grafana/plugins-platform-backendfalsefalsefalse
140zanzanaexperimental@grafana/identity-access-teamfalsefalsefalse
141reloadDashboardsOnParamsChangeexperimental@grafana/dashboards-squadfalsefalsefalse
142enableScopesInMetricsExploreexperimental@grafana/dashboards-squadfalsefalsefalse
143cloudWatchRoundUpEndTimeGA@grafana/aws-datasourcesfalsefalsefalse
144prometheusAzureOverrideAudiencedeprecated@grafana/partner-datasourcesfalsefalsefalse
145alertingFilterV2experimental@grafana/alerting-squadfalsefalsefalse
146dataplaneAggregatorexperimental@grafana/grafana-app-platform-squadfalsetruefalse
147newFiltersUIGA@grafana/dashboards-squadfalsefalsefalse
148tableNextGenpreview@grafana/dataviz-squadfalsefalsetrue
149lokiSendDashboardPanelNamesexperimental@grafana/observability-logsfalsefalsefalse
150alertingPrometheusRulesPrimaryexperimental@grafana/alerting-squadfalsefalsetrue
151exploreLogsShardSplittingexperimental@grafana/observability-logsfalsefalsetrue
152exploreLogsAggregatedMetricsexperimental@grafana/observability-logsfalsefalsetrue
153exploreLogsLimitedTimeRangeexperimental@grafana/observability-logsfalsefalsetrue
154appPlatformGrpcClientAuthexperimental@grafana/identity-access-teamfalsefalsefalse
155groupAttributeSyncprivatePreview@grafana/identity-access-teamfalsefalsefalse
156alertingQueryAndExpressionsStepModeGA@grafana/alerting-squadfalsefalsetrue
157improvedExternalSessionHandlingpreview@grafana/identity-access-teamfalsefalsefalse
158useSessionStorageForRedirectionGA@grafana/identity-access-teamfalsefalsefalse
159rolePickerDrawerexperimental@grafana/identity-access-teamfalsefalsefalse
160unifiedStorageSearchexperimental@grafana/search-and-storagefalsefalsefalse
161unifiedStorageSearchSprinklesexperimental@grafana/search-and-storagefalsefalsefalse
162unifiedStorageSearchPermissionFilteringGA@grafana/search-and-storagefalsefalsefalse
163managedDualWriterexperimental@grafana/search-and-storagefalsefalsefalse
164pluginsSriChecksGA@grafana/plugins-platform-backendfalsefalsefalse
165unifiedStorageBigObjectsSupportexperimental@grafana/search-and-storagefalsefalsefalse
166timeRangeProviderexperimental@grafana/grafana-frontend-platformfalsefalsefalse
167azureMonitorDisableLogLimitGA@grafana/partner-datasourcesfalsefalsefalse
168preinstallAutoUpdateGA@grafana/plugins-platform-backendfalsefalsefalse
169playlistsReconcilerexperimental@grafana/grafana-app-platform-squadfalsetruefalse
170passwordlessMagicLinkAuthenticationexperimental@grafana/identity-access-teamfalsefalsefalse
171exploreMetricsRelatedLogsexperimental@grafana/observability-metricsfalsefalsetrue
172prometheusSpecialCharsInLabelValuesexperimental@grafana/oss-big-tentfalsefalsetrue
173enableExtensionsAdminPageexperimental@grafana/plugins-platform-backendfalsetruefalse
174enableSCIMexperimental@grafana/identity-access-teamfalsefalsefalse
175crashDetectionexperimental@grafana/observability-traces-and-profilingfalsefalsetrue
176jaegerBackendMigrationexperimental@grafana/oss-big-tentfalsefalsefalse
177reportingUseRawTimeRangeGA@grafana/sharing-squadfalsefalsefalse
178alertingUIOptimizeReducerGA@grafana/alerting-squadfalsefalsetrue
179azureMonitorEnableUserAuthGA@grafana/partner-datasourcesfalsefalsefalse
180alertingNotificationsStepModeGA@grafana/alerting-squadfalsefalsetrue
181feedbackButtonexperimental@grafana/grafana-operator-experience-squadfalsefalsefalse
182unifiedStorageSearchUIexperimental@grafana/search-and-storagefalsefalsefalse
183elasticsearchCrossClusterSearchpreview@grafana/aws-datasourcesfalsefalsefalse
184unifiedHistoryexperimental@grafana/grafana-frontend-platformfalsefalsetrue
185lokiLabelNamesQueryApiGA@grafana/observability-logsfalsefalsefalse
186investigationsBackendexperimental@grafana/grafana-app-platform-squadfalsefalsefalse
187k8SFolderCountsexperimental@grafana/search-and-storagefalsefalsefalse
188k8SFolderMoveexperimental@grafana/search-and-storagefalsefalsefalse
189improvedExternalSessionHandlingSAMLpreview@grafana/identity-access-teamfalsefalsefalse
190teamHttpHeadersMimirpreview@grafana/identity-access-teamfalsefalsefalse
191teamHttpHeadersTempoexperimental@grafana/identity-access-teamfalsefalsefalse
192ABTestFeatureToggleAexperimental@grafana/sharing-squadfalsefalsefalse
193templateVariablesUsesComboboxexperimental@grafana/grafana-frontend-platformfalsefalsetrue
194ABTestFeatureToggleBexperimental@grafana/sharing-squadfalsefalsefalse
195grafanaAdvisorexperimental@grafana/plugins-platform-backendfalsefalsefalse
196elasticsearchImprovedParsingexperimental@grafana/aws-datasourcesfalsefalsefalse
197datasourceConnectionsTabprivatePreview@grafana/plugins-platform-backendfalsefalsetrue
198fetchRulesUsingPostexperimental@grafana/alerting-squadfalsefalsefalse
199newLogsPanelexperimental@grafana/observability-logsfalsefalsetrue
200grafanaconThemesGA@grafana/grafana-frontend-platformfalsetruefalse
201pluginsCDNSyncLoaderexperimental@grafana/plugins-platform-backendfalsefalsefalse
202alertingJiraIntegrationexperimental@grafana/alerting-squadfalsefalsetrue
203useScopesNavigationEndpointexperimental@grafana/grafana-frontend-platformfalsefalsetrue
204scopeSearchAllLevelsexperimental@grafana/grafana-frontend-platformfalsefalsefalse
205alertingRuleVersionHistoryRestoreGA@grafana/alerting-squadfalsefalsetrue
206newShareReportDrawerexperimental@grafana/sharing-squadfalsefalsefalse
207rendererDisableAppPluginsPreloadexperimental@grafana/sharing-squadfalsefalsetrue
208assetSriChecksexperimental@grafana/frontend-opsfalsefalsetrue
209alertRuleRestorepreview@grafana/alerting-squadfalsefalsefalse
210grafanaManagedRecordingRulesDatasourcesGA@grafana/alerting-squadfalsefalsefalse
211infinityRunQueriesInParallelprivatePreview@grafana/oss-big-tentfalsefalsefalse
212inviteUserExperimentalexperimental@grafana/sharing-squadfalsefalsetrue
213alertingMigrationUIGA@grafana/alerting-squadfalsefalsetrue
214alertingImportYAMLUIGA@grafana/alerting-squadfalsefalsetrue
215unifiedStorageHistoryPrunerGA@grafana/search-and-storagefalsefalsefalse
216azureMonitorLogsBuilderEditorpreview@grafana/partner-datasourcesfalsefalsefalse
217localeFormatPreferenceexperimental@grafana/grafana-frontend-platformfalsefalsefalse
218unifiedStorageGrpcConnectionPoolexperimental@grafana/search-and-storagefalsefalsefalse
219extensionSidebarexperimental@grafana/observability-logsfalsefalsetrue
220alertingRulePermanentlyDeleteGA@grafana/alerting-squadfalsefalsetrue
221alertingRuleRecoverDeletedGA@grafana/alerting-squadfalsefalsetrue
222xrayApplicationSignalsexperimental@grafana/aws-datasourcesfalsefalsetrue
223multiTenantTempCredentialsexperimental@grafana/aws-datasourcesfalsefalsefalse
224localizationForPluginsexperimental@grafana/plugins-platform-backendfalsefalsefalse
225unifiedNavbarsGA@grafana/plugins-platform-backendfalsefalsetrue
226logsPanelControlspreview@grafana/observability-logsfalsefalsetrue
227metricsFromProfilesexperimental@grafana/observability-traces-and-profilingfalsefalsetrue
228postgresDSUsePGXexperimental@grafana/oss-big-tentfalsefalsefalse
229pluginsAutoUpdateexperimental@grafana/plugins-platform-backendfalsefalsefalse
230multiTenantFrontendexperimental@grafana/grafana-frontend-platformfalsefalsefalse
231alertingListViewV2PreviewToggleprivatePreview@grafana/alerting-squadfalsefalsetrue
232alertRuleUseFiredAtForStartsAtexperimental@grafana/alerting-squadfalsefalsefalse
233alertingBulkActionsInUIGA@grafana/alerting-squadfalsefalsetrue
234extensionsReadOnlyProxyexperimental@grafana/plugins-platform-backendfalsefalsetrue
235restoreDashboardsexperimental@grafana/grafana-frontend-platformfalsefalsefalse