diff --git a/pgadmin/schema/pgColumn.cpp b/pgadmin/schema/pgColumn.cpp
old mode 100644
new mode 100755
index 49a44d6..cd102c2
--- a/pgadmin/schema/pgColumn.cpp
+++ b/pgadmin/schema/pgColumn.cpp
@@ -338,13 +338,31 @@ wxString pgColumn::GetDefinition()
 	        sql == wxT("pg_catalog.integer") || sql == wxT("pg_catalog.bigint"))
 	        && (GetDefault() == seqDefault1 || GetDefault() == seqDefault2))
 	{
-		if (sql.Right(6) == wxT("bigint"))
-			sql = wxT("bigserial");
-		else
-			sql = wxT("serial");
+		pgSet *set = ExecuteSet(wxT("SELECT classid\n")
+					wxT("  FROM pg_depend\n")
+					wxT(" WHERE refobjid=") + table->GetOidStr() +
+					wxT(" AND refobjsubid = ") + NumToStr(GetColNumber()) +
+					wxT(" AND objid IN ('") +
+					schema->GetPrefix() + GetTableName() + wxT("_") + GetName() + wxT("_seq'::regclass,'") +
+					schema->GetPrefix() + GetTableName() + wxT("_") + GetName() + wxT("_seq'::regclass)")
+					wxT(" AND deptype='a'"));
+
+		if (set && set->NumRows())
+		{
+			if (sql.Right(6) == wxT("bigint"))
+				sql = wxT("bigserial");
+			else
+				sql = wxT("serial");
+		}
 
 		if (GetNotNull())
 			sql += wxT(" NOT NULL");
+
+		if (!set || !(set->NumRows()))
+			AppendIfFilled(sql, wxT(" DEFAULT "), GetDefault());
+
+		if (set)
+			delete set;
 	}
 	else
 	{
