In libpq, the definition is like: PGresult * PQprepare(PGconn *conn, const char *stmtName, const char *query, int nParams, const Oid *paramTypes)
Could we remove the parameter "nParams"? e.g. "insert into foo(id, name, address) values ($1, $2, $3)" PostgreSQL possibly can parse the prepared sql statement to get the real paramters count. Or, is there another alternate way?