Skip to content

Commit 59da05d

Browse files
committed
Postgres: only set force_generic_plan for versions which support it
1 parent 5bba30d commit 59da05d

File tree

1 file changed

+13
-2
lines changed

1 file changed

+13
-2
lines changed

sqlx-postgres/src/connection/describe.rs

+13-2
Original file line numberDiff line numberDiff line change
@@ -526,8 +526,19 @@ WHERE rngtypid = $1
526526
let mut tx = self.begin().await?;
527527

528528
if params_len > 0 {
529-
tx.execute("set local plan_cache_mode = force_generic_plan;")
530-
.await?;
529+
tx.execute(
530+
" DO $$
531+
BEGIN
532+
IF EXISTS (
533+
SELECT 1
534+
FROM pg_settings
535+
WHERE name = 'plan_cache_mode'
536+
) THEN
537+
SET LOCAL plan_cache_mode = 'force_generic_plan';
538+
END IF;
539+
END $$;",
540+
)
541+
.await?;
531542

532543
explain += "(";
533544

0 commit comments

Comments
 (0)