diff --git a/web/pgadmin/browser/server_groups/servers/static/js/privilege.js b/web/pgadmin/browser/server_groups/servers/static/js/privilege.js
index 01788e2..2b8ceb4 100644
--- a/web/pgadmin/browser/server_groups/servers/static/js/privilege.js
+++ b/web/pgadmin/browser/server_groups/servers/static/js/privilege.js
@@ -177,6 +177,22 @@
     },
 
     validate: function() {
+      var err = {},
+        errmsg = null,
+        changedAttrs = this.sessAttrs,
+        msg = undefined;
+      // We will throw error if user have not entered
+      // either grantee or privileges
+      if (_.has(changedAttrs, 'grantor')) {
+          if (_.isUndefined(this.get('grantee')) ||
+          this.get('privileges').length == 0) {
+            errmsg = 'Please specify grantee/privileges';
+            this.errorModel.set('grantee', errmsg);
+            return errmsg;
+          }
+      } else {
+        this.errorModel.unset('grantee');
+      }
       return null;
     }
   });
diff --git a/web/pgadmin/browser/server_groups/servers/templates/macros/default_privilege.macros b/web/pgadmin/browser/server_groups/servers/templates/macros/default_privilege.macros
index 40a656c..4bfd60f 100644
--- a/web/pgadmin/browser/server_groups/servers/templates/macros/default_privilege.macros
+++ b/web/pgadmin/browser/server_groups/servers/templates/macros/default_privilege.macros
@@ -11,4 +11,19 @@ GRANT {{ with_grant }} ON {{ type }} TO {{ conn|qtIdent(role) }} WITH GRANT OPTI
 {% macro RESETALL(conn, type, role) -%}
 ALTER DEFAULT PRIVILEGES
     REVOKE ALL ON {{ type }} FROM {{ conn|qtIdent(role) }};
+{%- endmacro %}
+{### To allow create macro for specific database object ###}
+{% macro SET(conn, db_object_type, db_object_name, type, role, priv, with_grant) -%}
+{% if priv %}
+ALTER DEFAULT PRIVILEGES IN {{ db_object_type }} {{ conn|qtIdent(db_object_name) }}
+GRANT {{ priv }} ON {{ type }} TO {{ conn|qtIdent(role) }};
+{% endif %}
+{% if with_grant %}
+ALTER DEFAULT PRIVILEGES IN {{ db_object_type }} {{ conn|qtIdent(db_object_name) }}
+GRANT {{ with_grant }} ON {{ type }} TO {{ conn|qtIdent(role) }} WITH GRANT OPTION;
+{% endif %}
+{%- endmacro %}
+{% macro UNSET(conn, db_object_type, db_object_name, type, role) -%}
+ALTER DEFAULT PRIVILEGES IN {{ db_object_type }} {{ conn|qtIdent(db_object_name) }}
+    REVOKE ALL ON {{ type }} FROM {{ conn|qtIdent(role) }};
 {%- endmacro %}
\ No newline at end of file
