public function indexes($table_name)
{
$sql = <<<SQL
SELECT distinct i.relname, d.indisunique, d.indkey, pg_get_indexdef(d.indexrelid), t.oid
FROM pg_class t
INNER JOIN pg_index d ON t.oid = d.indrelid
INNER JOIN pg_class i ON d.indexrelid = i.oid
WHERE i.relkind = 'i'
AND d.indisprimary = 'f'
AND t.relname = '%s'
AND i.relnamespace IN (SELECT oid FROM pg_namespace WHERE nspname = ANY (current_schemas(false)) )
ORDER BY i.relname
SQL;
$sql = sprintf($sql, $table_name);
$result = $this->select_all($sql);
$indexes = array();
foreach ($result as $row) {
$indexes[] = array('name' => $row['relname'], 'unique' => $row['indisunique'] == 't' ? true : false);
}
return $indexes;
}