diff --git a/pgadmin/db/pgConn.cpp b/pgadmin/db/pgConn.cpp
index 5589b89..a40782b 100644
--- a/pgadmin/db/pgConn.cpp
+++ b/pgadmin/db/pgConn.cpp
@@ -517,7 +517,9 @@ bool pgConn::HasFeature(int featureNo, bool forceCheck)
 		}
 
 		// Check for EDB function parameter default support
-		wxString hasFuncDefs = ExecuteScalar(wxT("SELECT count(*) FROM pg_attribute WHERE attrelid = 'pg_catalog.pg_proc'::regclass AND attname = 'proargdefvals'"));
+		wxString defCol = EdbMinimumVersion(8, 4) ? wxT("'proargdefaults'") : wxT("'proargdefvals'");
+
+		wxString hasFuncDefs = ExecuteScalar(wxT("SELECT count(*) FROM pg_attribute WHERE attrelid = 'pg_catalog.pg_proc'::regclass AND attname = ") + defCol);
 		if (hasFuncDefs == wxT("1"))
 			features[FEATURE_FUNCTION_DEFAULTS] = true;
 		else
diff --git a/pgadmin/schema/edbPackageFunction.cpp b/pgadmin/schema/edbPackageFunction.cpp
index ed0b692..49faae7 100644
--- a/pgadmin/schema/edbPackageFunction.cpp
+++ b/pgadmin/schema/edbPackageFunction.cpp
@@ -189,7 +189,10 @@ edbPackageFunction *edbPackageFunctionFactory::AppendFunctions(pgObject *obj, ed
 	wxString sql, argDefsCol;
 
 	if (obj->GetConnection()->HasFeature(FEATURE_FUNCTION_DEFAULTS))
-		argDefsCol = wxT("proargdefvals, ");
+	{
+		argDefsCol = obj->GetConnection()->EdbMinimumVersion(8, 4) ? wxT("proargdefaults") : wxT("proargdefvals");
+		argDefsCol += wxT(" AS argdefaults, ");
+	}
 
 	if (obj->GetConnection()->EdbMinimumVersion(8, 2))
 	{
@@ -259,7 +262,8 @@ edbPackageFunction *edbPackageFunctionFactory::AppendFunctions(pgObject *obj, ed
 			// Function defaults
 			if (obj->GetConnection()->HasFeature(FEATURE_FUNCTION_DEFAULTS))
 			{
-				tmp = packageFunctions->GetVal(wxT("proargdefvals"));
+				tmp = packageFunctions->GetVal(wxT("argdefaults"));
+
 				if (!tmp.IsEmpty())
 					argDefsTkz.SetString(tmp.Mid(1, tmp.Length() - 2), wxT(","));
 			}