Is there anything preventing us from having the planner resolve object names from strings?
The basic problem is fact so when you use PREPARE, EXECUTE protocol, you has not parameters in planning time.
I agree that it defeats PREPARE as it is currently implemented with PQprepare(), and it would never be meaningful to have a query plan that hasn't finalized which objects are involved.
But could it be made to work with PQexecParams(), where the parameter values are already provided?
Could we make a version of PQprepare() that takes an extra array of paramValues for object names that must be supplied at prepare-time?