protected function getPrimaryKeys($tableName, $schemaName, $columnIndex)
{
$index = join(', ', explode(' ', $columnIndex));
$sql = <<<EOD
\t\tSELECT attnum, attname FROM pg_catalog.pg_attribute WHERE
\t\tattrelid=(
\t\t\tSELECT oid FROM pg_catalog.pg_class WHERE relname=:table AND relnamespace=(
\t\t\t\tSELECT oid FROM pg_catalog.pg_namespace WHERE nspname=:schema
\t\t\t)
\t\t)
\t\t\t\tAND attnum IN ({$index})
EOD;
$command = $this->getDbConnection()->createCommand($sql);
$command->bindValue(':table', $tableName);
$command->bindValue(':schema', $schemaName);
// $command->bindValue(':columnIndex', join(', ', explode(' ', $columnIndex)));
$primary = array();
foreach ($command->query() as $row) {
$primary[] = $row['attname'];
}
return $primary;
}