PDO インスタンスをシリアル化できないというエラーが表示されますが、これが何を意味するのかわかりません。グーグルで調べても理解できませんでした。PostgreSQL の「ON CONFLICT」タイプのステートメントを作成してから、次のようにします。
内部サーバー エラー: PDOStatement インスタンスをシリアル化またはシリアル化解除できません
$db = new PDO(...);
$db->query("SET NAMES 'utf8'");
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = 'INSERT INTO ... ON CONFLICT ... DO UPDATE ...';
$params = array_merge(array1, array2);
$st = $db->prepare($query);
$st->execute($params);