diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/columns/static/js/column.ui.js b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/columns/static/js/column.ui.js
index 5839a9499..031c79c3f 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/columns/static/js/column.ui.js
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/columns/static/js/column.ui.js
@@ -379,7 +379,13 @@ export default class ColumnSchema extends BaseUISchema {
         if (isDisabled && obj.isNew(state)) {
           return {defval: undefined};
         }
-      }
+      }, editable: function(state) {
+        // inheritedfrom has value then we should disable it
+        if (!isEmptyString(state.inheritedfrom)) {
+          return false;
+        }
+        return true;
+      },
     },{
       id: 'attnotnull', label: gettext('Not NULL?'), cell: 'switch',
       type: 'switch', minWidth: 80,
@@ -509,7 +515,10 @@ export default class ColumnSchema extends BaseUISchema {
     },{
       id: 'attoptions', label: gettext('Variables'), type: 'collection',
       group: gettext('Variables'),
-      schema: new VariableSchema([], null, null, ['name', 'value']),
+      schema: new VariableSchema([
+        {label: 'n_distinct', value: 'n_distinct', vartype: 'string'},
+        {label: 'n_distinct_inherited', value: 'n_distinct_inherited', vartype: 'string'}
+      ], null, null, ['name', 'value']),
       uniqueCol : ['name'], mode: ['edit', 'create'],
       canAdd: true, canEdit: false, canDelete: true,
     }, {
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/tables/sql/10_plus/get_columns_for_table.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/tables/sql/10_plus/get_columns_for_table.sql
index bd4bd8414..2bb034c13 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/tables/sql/10_plus/get_columns_for_table.sql
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/tables/sql/10_plus/get_columns_for_table.sql
@@ -1,5 +1,6 @@
 SELECT
-    a.attname AS name, pg_catalog.format_type(a.atttypid, NULL) AS cltype, a.attidentity as clidentity,
+    a.attname AS name, pg_catalog.format_type(a.atttypid, NULL) AS cltype,
+    pg_catalog.pg_get_expr(def.adbin, def.adrelid) AS defval, a.attidentity as clidentity,
     pg_catalog.quote_ident(n.nspname)||'.'||pg_catalog.quote_ident(c.relname) as inheritedfrom,
     c.oid as inheritedid
 FROM
@@ -8,6 +9,8 @@ JOIN
     pg_catalog.pg_namespace n ON c.relnamespace=n.oid
 JOIN
     pg_catalog.pg_attribute a ON a.attrelid = c.oid AND NOT a.attisdropped AND a.attnum > 0
+LEFT OUTER JOIN
+    pg_catalog.pg_attrdef def ON adrelid=a.attrelid AND adnum=a.attnum
 WHERE
 {% if tid %}
     c.oid = {{tid}}::OID
diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/tables/sql/default/get_columns_for_table.sql b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/tables/sql/default/get_columns_for_table.sql
index 8676c09c5..6cad94f31 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/tables/sql/default/get_columns_for_table.sql
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/templates/tables/sql/default/get_columns_for_table.sql
@@ -1,5 +1,6 @@
 SELECT
     a.attname AS name, pg_catalog.format_type(a.atttypid, NULL) AS cltype,
+    pg_catalog.pg_get_expr(def.adbin, def.adrelid) AS defval,
     pg_catalog.quote_ident(n.nspname)||'.'||pg_catalog.quote_ident(c.relname) as inheritedfrom,
     c.oid as inheritedid
 FROM
@@ -8,6 +9,8 @@ JOIN
     pg_catalog.pg_namespace n ON c.relnamespace=n.oid
 JOIN
     pg_catalog.pg_attribute a ON a.attrelid = c.oid AND NOT a.attisdropped AND a.attnum > 0
+LEFT OUTER JOIN
+    pg_catalog.pg_attrdef def ON adrelid=a.attrelid AND adnum=a.attnum
 WHERE
 {% if tid %}
     c.oid = {{tid}}::OID
diff --git a/web/pgadmin/browser/static/js/browser.js b/web/pgadmin/browser/static/js/browser.js
index e866d5c48..bdab52993 100644
--- a/web/pgadmin/browser/static/js/browser.js
+++ b/web/pgadmin/browser/static/js/browser.js
@@ -246,7 +246,7 @@ define('pgadmin.browser', [
         isPrivate: true,
         elContainer: true,
         limit: 1,
-        content: '<div class="obj_properties container-fluid"><div role="status" class="pg-panel-message">' + select_object_msg + '</div></div>',
+        content: '<div class="obj_properties container-fluid h-100"><div role="status" class="pg-panel-message">' + select_object_msg + '</div></div>',
         events: panelEvents,
         onCreate: function(myPanel, $container) {
           $container.addClass('pg-no-overflow');
diff --git a/web/pgadmin/static/js/SchemaView/index.jsx b/web/pgadmin/static/js/SchemaView/index.jsx
index 2b92c460b..a23f98460 100644
--- a/web/pgadmin/static/js/SchemaView/index.jsx
+++ b/web/pgadmin/static/js/SchemaView/index.jsx
@@ -233,7 +233,7 @@ function getChangedData(topSchema, viewHelperProps, sessData, stringify=false) {
   return changedData;
 }
 
-function validateSchema(schema, sessData, setError, accessPath=[]) {
+function validateSchema(schema, sessData, setError, accessPath=[], collLabel=null) {
   sessData = sessData || {};
   for(let field of schema.fields) {
     /* Skip id validation */
@@ -261,7 +261,7 @@ function validateSchema(schema, sessData, setError, accessPath=[]) {
         }
         /* Loop through data */
         for(const [rownum, row] of rows.entries()) {
-          if(validateSchema(field.schema, row, setError, currPath.concat(rownum))) {
+          if(validateSchema(field.schema, row, setError, currPath.concat(rownum), field.label)) {
             return true;
           }
         }
@@ -276,7 +276,14 @@ function validateSchema(schema, sessData, setError, accessPath=[]) {
       let value = sessData[field.id];
       let message = null;
       if(field.noEmpty) {
-        message = emptyValidator(field.label, value);
+        let label = field.label;
+        if(collLabel) {
+          label = gettext('%s in %s', field.label, collLabel);
+        }
+        if(field.noEmptyLabel) {
+          label = field.noEmptyLabel;
+        }
+        message = emptyValidator(label, value);
       }
       if(!message && (field.type == 'int' || field.type == 'numeric')) {
         message = minMaxValidator(field.label, value, field.min, field.max);
