SELECT c.is_nullable, c.data_type, c.column_name, tc.constraint_type FROM information_schema.columns c LEFT OUTER JOIN information_schema.table_constraints tc ON tc.table_name=c.table_name and tc.constraint_type='PRIMARY KEY' LEFT OUTER JOIN information_schema.key_column_usage kcu ON c.column_name=kcu.column_name WHERE c.table_name='test_table'