diff --git a/src/backend/partitioning/partprune.c b/src/backend/partitioning/partprune.c
index 58ec2a6..61c6c0c 100644
--- a/src/backend/partitioning/partprune.c
+++ b/src/backend/partitioning/partprune.c
@@ -2705,6 +2705,15 @@ pull_partkey_params(PartitionPruneInfo *pinfo, List *steps)
 		{
 			Expr	   *expr = lfirst(lc2);
 
+			if (IsA(expr, SQLValueFunction))
+			{
+				Param	   *param = (Param *) expr;
+
+				pinfo->execparams = bms_add_member(pinfo->execparams,
+												   param->paramid);
+				gotone = true;
+			}
+
 			if (IsA(expr, Param))
 			{
 				Param	   *param = (Param *) expr;
@@ -3038,6 +3047,7 @@ partkey_datum_from_expr(PartitionPruneContext *context,
 			return true;
 
 		case T_Param:
+		case T_SQLValueFunction:
 
 			/*
 			 * When being called from the executor we may be able to evaluate
