PreparedStatement.this

Creates prepared statement object, wich holds dpeq utility state. Constructor does not write anything to connection write buffer.

Quoting https://www.postgresql.org/docs/9.5/static/protocol-message-formats.html:

The number of parameter data types specified (can be zero). Note that this is not an indication of the number of parameters that might appear in the query string, only the number that the frontend wants to prespecify types for.

Then, for each parameter, there is the following:

Int32 Specifies the object ID of the parameter data type. Placing a zero here is equivalent to leaving the type unspecified.

That means you can leave paramTypes null, unless you're doing some tricky stuff.

class PreparedStatement(ConnT)
this
pure
(
ConnT conn
,
string query
,,
bool named = false
,
const(OID)[] paramTypes = null
)

Meta