public function describeForeignKeySql($tableName, $config)
{
$sql = "SELECT\n c.conname AS name,\n c.contype AS type,\n a.attname AS column_name,\n c.confmatchtype AS match_type,\n c.confupdtype AS on_update,\n c.confdeltype AS on_delete,\n c.confrelid::regclass AS references_table,\n ab.attname AS references_field\n FROM pg_catalog.pg_namespace n\n INNER JOIN pg_catalog.pg_class cl ON (n.oid = cl.relnamespace)\n INNER JOIN pg_catalog.pg_constraint c ON (n.oid = c.connamespace)\n INNER JOIN pg_catalog.pg_attribute a ON (a.attrelid = cl.oid AND c.conrelid = a.attrelid AND a.attnum = ANY(c.conkey))\n INNER JOIN pg_catalog.pg_attribute ab ON (a.attrelid = cl.oid AND c.confrelid = ab.attrelid AND ab.attnum = ANY(c.confkey))\n WHERE n.nspname = ?\n AND cl.relname = ?\n ORDER BY name, a.attnum, ab.attnum DESC";
$schema = empty($config['schema']) ? 'public' : $config['schema'];
return [$sql, [$schema, $tableName]];
}