Si, Zendi.
Aclaro que no soy el experto en Postgress, pero efectivamente el equivalente de mysqli_prepare (MySql), es: pg_prepare.
Su uso es similar al de mysql, su sintaxis es:
pg_prepare(resource $connection = ?, string $stmtname, string $query): resource
$stmt= pg_prepare($dbconn, "my_query", 'Select * From Tabla_Usuarios Where User = ? and Clave = ?;');
$stmt->bind_param("ss", $user, $clave);
$stmt->execute();
Y desde luego debes aplicarlo para sentencias de tipo insert y todas las demás (Update y Delete), porque es que cualquier sentencia SQL es susceptible de que le apliquen sql injection.
La clave es escapar bien lo que ingrese el usuario, utilizando filtros de saneamiento, que basicamente buscan eliminar etiquetas y caracteres especiales en una cadena.
Emplear claves estrictamente numéricas ayuda mucho, porque se le aplica un FILTER_SANITIZE_NUMBER_INT y con ello es imposible que nos “claven” una cadena de texto que pueda hacer daño como esta:
Select * From Tabla_Usuarios Where User = $v_user and Clave = $v_clave; Drop table Tabla_Usuarios;'
Lo anterior, elimina físicamente la tabla, y peor aún si nos hicieran algo como:
Drop Database XXX; donde XXX es el nombre de tu base de datos
Con esto nos eliminan completamente la BD, y si no se tiene respaldo, al otro día estás en la calle sin trabajo.
Lo del SQL Injection es muy peligroso, y hay que tomar las medidas adecuadas para frenar un poco la osadía de un atacante.