diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/types/static/js/type.ui.js b/web/pgadmin/browser/server_groups/servers/databases/schemas/types/static/js/type.ui.js
index bf8ba3d54..14e385f76 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/schemas/types/static/js/type.ui.js
+++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/types/static/js/type.ui.js
@@ -14,7 +14,7 @@ import SecLabelSchema from '../../../../../static/js/sec_label.ui';
 import { getNodeAjaxOptions } from '../../../../../../../static/js/node_ajax';
 import _ from 'underscore';
 import getApiInstance from 'sources/api_instance';
-import { isEmptyString, integerValidator } from 'sources/validators';
+import { isEmptyString } from 'sources/validators';
 
 
 function getCompositeSchema(nodeObj, treeNodeInfo, itemNodeData) {
@@ -69,9 +69,9 @@ function getRangeSchema(nodeObj, treeNodeInfo, itemNodeData) {
               null, 'get_canonical', itemNodeData, false,
               treeNodeInfo,
             ]);
-          var data;
+          var data = [];
 
-          if(!_.isUndefined(name) && name != ''){
+          if(!_.isUndefined(name) && name != '' && name != null){
             api.get(_url, {
               params: {
                 'name' : name
@@ -1051,35 +1051,10 @@ class CompositeSchema extends BaseUISchema {
       setError('type', errmsg);
       return true;
     }
-    if(state.is_tlength) {
-
-      if (state.tlength < state.min_val) {
-        errmsg = gettext('Length/Precision should not be less than %s.', state.min_val);
-      }
-      else if (state.tlength > state.max_val) {
-        errmsg = gettext('Length/Precision should not be greater than %s.', state.max_val);
-      }
-      if(_.isUndefined(errmsg) || errmsg == null)
-        errmsg = integerValidator('Length/Precision', state.tlength);
-      // If we have any error set then throw it to user
-      if(!_.isUndefined(errmsg) && errmsg != null) {
-        setError('tlength', errmsg);
-        return true;
-      }
-    }
-    if(state.is_precision) {
-      errmsg = integerValidator('Scale', state.precision);
-      if(!_.isUndefined(errmsg) && errmsg != null) {
-        setError('precision', errmsg);
-        return true;
-      }
-    }
     if(_.isUndefined(errmsg) || errmsg == null) {
       errmsg = null;
       setError('member_name', errmsg);
       setError('type', errmsg);
-      setError('tlength', errmsg);
-      setError('precision', errmsg);
     }
     return false;
   }
@@ -1122,7 +1097,7 @@ class DataTypeSchema extends BaseUISchema {
       id: 'type',
       label: gettext('Data Type'),
       group: gettext('Definition'),
-      mode: ['edit', 'create','properties'],
+      mode: ['edit', 'create'],
       disabled: false,
       readonly: function (state) {
         return !dataTypeObj.isNew(state);
@@ -1158,7 +1133,7 @@ class DataTypeSchema extends BaseUISchema {
       type: 'int',
       deps: ['typtype'],
       cell: 'int',
-      mode: ['create', 'edit','properties'],
+      mode: ['create', 'edit'],
       readonly: function (state) {
         return !dataTypeObj.isNew(state);
       },
@@ -1172,7 +1147,7 @@ class DataTypeSchema extends BaseUISchema {
       id: 'tlength',
       group: gettext('Data Type'),
       label: gettext('Length/Precision'),
-      mode: ['edit', 'create','properties'],
+      mode: ['edit', 'create'],
       deps: ['type'],
       type: 'text',
       cell: 'int',
@@ -1234,7 +1209,7 @@ class DataTypeSchema extends BaseUISchema {
       id: 'precision',
       group: gettext('Data Type'),
       label: gettext('Scale'),
-      mode: ['edit', 'create','properties'],
+      mode: ['edit', 'create'],
       deps: ['type'],
       type: 'text',
       readonly: function (state) {
@@ -1465,7 +1440,7 @@ export default class TypeSchema extends BaseUISchema {
       group: gettext('Definition'),
       label: '',
       deps: ['typtype'],
-      mode: ['edit', 'create', 'properties'],
+      mode: ['edit', 'create'],
       visible: function(state) {
         return state.typtype === 'N' || state.typtype === 'V';
       },
@@ -1594,6 +1569,50 @@ export default class TypeSchema extends BaseUISchema {
         return false;
       },
     },
+    {
+      id: 'type', label: gettext('Data Type'), cell: 'string',
+      type: 'text', mode: ['properties'], group: gettext('Definition'),
+      disabled: () => obj.inCatalog(),
+      visible: function(state) {
+        if(state.typtype === 'N' || state.typtype === 'V') {
+          return true;
+        }
+        return false;
+      }
+    },
+    {
+      id: 'tlength', label: gettext('Length/Precision'), cell: 'string',
+      type: 'text', mode: ['properties'], group: gettext('Definition'),
+      disabled: () => obj.inCatalog(),
+      visible: function(state) {
+        if(state.typtype === 'N') {
+          return true;
+        }
+        return false;
+      }
+    },
+    {
+      id: 'precision', label: gettext('Scale'), cell: 'string',
+      type: 'text', mode: ['properties'], group: gettext('Definition'),
+      disabled: () => obj.inCatalog(),
+      visible: function(state) {
+        if(state.typtype === 'N') {
+          return true;
+        }
+        return false;
+      }
+    },
+    {
+      id: 'maxsize', label: gettext('Size'), cell: 'string',
+      type: 'text', mode: ['properties'], group: gettext('Definition'),
+      disabled: () => obj.inCatalog(),
+      visible: function(state) {
+        if(state.typtype === 'V') {
+          return true;
+        }
+        return false;
+      }
+    },
     {
       id: 'type_acl', label: gettext('Privileges'), cell: 'string',
       type: 'text', mode: ['properties'], group: gettext('Security'),
diff --git a/web/regression/javascript/schema_ui_files/type.ui.spec.js b/web/regression/javascript/schema_ui_files/type.ui.spec.js
index 33998f09a..70188aca8 100644
--- a/web/regression/javascript/schema_ui_files/type.ui.spec.js
+++ b/web/regression/javascript/schema_ui_files/type.ui.spec.js
@@ -15,8 +15,6 @@ import {messages} from '../fake_messages';
 import { createMount } from '@material-ui/core/test-utils';
 import SchemaView from '../../../pgadmin/static/js/SchemaView';
 import * as nodeAjax from '../../../pgadmin/browser/static/js/node_ajax';
-import gettext from 'sources/gettext';
-import { integerValidator } from 'sources/validators';
 import { getNodePrivilegeRoleSchema } from '../../../pgadmin/browser/server_groups/servers/static/js/privilege.ui';
 
 import TypeSchema, { EnumerationSchema, getCompositeSchema, getExternalSchema, getRangeSchema, getDataTypeSchema } from '../../../pgadmin/browser/server_groups/servers/databases/schemas/types/static/js/type.ui';
@@ -105,32 +103,6 @@ describe('TypeSchema', ()=>{
       state.member_name = 'demo_member';
       compositeCollObj.validate(state, setError);
       expect(setError).toHaveBeenCalledWith('type', 'Please specify the type.');
-
-      state.type = 'char';
-      state.min_val = 10;
-      state.max_val = 100;
-      state.is_tlength = true;
-      state.tlength = 9;
-      compositeCollObj.validate(state, setError);
-      expect(setError).toHaveBeenCalledWith('tlength', gettext('Length/Precision should not be less than %s.', state.min_val));
-
-      state.tlength = 200;
-      compositeCollObj.validate(state, setError);
-      expect(setError).toHaveBeenCalledWith('tlength', gettext('Length/Precision should not be greater than %s.', state.max_val));
-
-      state.tlength = 'ert';
-      compositeCollObj.validate(state, setError);
-      expect(setError).toHaveBeenCalledWith('tlength', integerValidator('Length/Precision', state.tlength));
-
-      state.tlength = 90;
-      state.is_precision = true;
-      state.precision = 'ert';
-      compositeCollObj.validate(state, setError);
-      expect(setError).toHaveBeenCalledWith('precision', integerValidator('Scale', state.precision));
-
-      state.precision = 9;
-      compositeCollObj.validate(state, setError);
-      expect(setError).toHaveBeenCalled();
     });
 
     it('tlength editable', ()=>{
